)]}'
{
  "log": [
    {
      "commit": "4464fcaa9cbfc9c551956b48af203e2f775ca892",
      "tree": "769a0bb37bb177062be7c26ed0a1db6b103c2032",
      "parents": [
        "fa6963b2481beff8b11f76006fbb63fdbbf2d2d7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 21 17:19:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 21 18:00:35 2009 +0200"
      },
      "message": "perf_counter: Fix typo in read() output generation\n\nWhen you iterate a list, using the iterator is useful.\n\nBefore:\n\n   ID: 5\n   ID: 5\n   ID: 5\n   ID: 5\n   EVNT: 0x40088b scale: nan ID: 5 CNT: 1006252 ID: 6 CNT: 1011090 ID: 7 CNT: 1011196 ID: 8 CNT: 1011095\n   EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 2003065 ID: 6 CNT: 2011671 ID: 7 CNT: 2012620 ID: 8 CNT: 2013479\n   EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 3002390 ID: 6 CNT: 3015996 ID: 7 CNT: 3018019 ID: 8 CNT: 3020006\n   EVNT: 0x40088b scale: 1.000000 ID: 5 CNT: 4002406 ID: 6 CNT: 4021120 ID: 7 CNT: 4024241 ID: 8 CNT: 4027059\n\nAfter:\n\n   ID: 1\n   ID: 2\n   ID: 3\n   ID: 4\n   EVNT: 0x400889 scale: nan ID: 1 CNT: 1005270 ID: 2 CNT: 1009833 ID: 3 CNT: 1010065 ID: 4 CNT: 1010088\n   EVNT: 0x400898 scale: nan ID: 1 CNT: 2001531 ID: 2 CNT: 2022309 ID: 3 CNT: 2022470 ID: 4 CNT: 2022627\n   EVNT: 0x400888 scale: 0.489467 ID: 1 CNT: 3001261 ID: 2 CNT: 3027088 ID: 3 CNT: 3027941 ID: 4 CNT: 3028762\n\nReported-by: stephane eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: perfmon2-devel \u003cperfmon2-devel@lists.sourceforge.net\u003e\nLKML-Reference: \u003c1250867976.7538.73.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f738eb1b63edf664da1b4ac76895d988749b2f07",
      "tree": "77f6074359c55803850e5ced16e223087db2dccb",
      "parents": [
        "e1ac3614ff606ae03677f47459113f98a19af63c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 18 11:32:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 18 11:34:13 2009 +0200"
      },
      "message": "perf_counter: Fix the PARISC build\n\nPARISC does not build:\n\n/home/mingo/tip/kernel/perf_counter.c: In function \u0027perf_counter_index\u0027:\n/home/mingo/tip/kernel/perf_counter.c:2016: error: \u0027PERF_COUNTER_INDEX_OFFSET\u0027 undeclared (first use in this function)\n/home/mingo/tip/kernel/perf_counter.c:2016: error: (Each undeclared identifier is reported only once\n/home/mingo/tip/kernel/perf_counter.c:2016: error: for each function it appears in.)\n\nAs PERF_COUNTER_INDEX_OFFSET is not defined.\n\nNow, we could define it in the architecture - but lets also provide\na core default of 0 (which happens to be what all but one\narchitecture uses at the moment).\n\nArchitectures that need a different index offset should set this\nvalue in their asm/perf_counter.h files.\n\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: linux-parisc@vger.kernel.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1ac3614ff606ae03677f47459113f98a19af63c",
      "tree": "e2317686271461fad79cf88280f8a2eadf5bb88d",
      "parents": [
        "2932cffc89e9a1476b28a59896fa4f81e0d4f131"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Aug 14 15:39:10 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 17 11:38:13 2009 +0200"
      },
      "message": "perf_counter: Check task on counter read IPI\n\nIn general, code in perf_counter.c that is called through an\nIPI checks, for per-task counters, that the counter\u0027s task is\nstill the current task.  This is to handle the race condition\nwhere the cpu switches from the task we want to another task in\nthe interval between sending the IPI and the IPI arriving and\nbeing handled on the target CPU.\n\nFor some reason, __perf_counter_read is missing this check, yet\nthere is no reason why the race condition can\u0027t occur.  This\nadds a check that the current task is the one we want.  If it\nisn\u0027t, we just return.  In that case the counter-\u003ecount value\nshould be up to date, since it will have been updated when the\ncounter was scheduled out, which must have happened since the\nIPI was sent.\n\nI don\u0027t have an example of an actual failure due to this race,\nbut it seems obvious that it could occur and we need to guard\nagainst it.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19076.63614.277861.368125@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94d5d1b2d891f1fd5205f978246b7864d998b25c",
      "tree": "fc0655229d5c53110a696932aadc804f8aac63e4",
      "parents": [
        "970892a9031a5dc7217bd394fb9d89fa75a4a7bc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 13 16:14:42 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 16:17:15 2009 +0200"
      },
      "message": "perf_counter: Report the cloning task as parent on perf_counter_fork()\n\nA bug in (9f498cc: perf_counter: Full task tracing) makes\nprofiling multi-threaded apps it go belly up.\n\n[ output as: (PID:TID):(PPID:PTID) ]\n\n # ./perf report -D | grep FORK\n0x4b0 [0x18]: PERF_EVENT_FORK: (3237:3237):(3236:3236)\n0xa10 [0x18]: PERF_EVENT_FORK: (3237:3238):(3236:3236)\n0xa70 [0x18]: PERF_EVENT_FORK: (3237:3239):(3236:3236)\n0xad0 [0x18]: PERF_EVENT_FORK: (3237:3240):(3236:3236)\n0xb18 [0x18]: PERF_EVENT_FORK: (3237:3241):(3236:3236)\n\nShows us that the test (27d028d perf report: Update for the new\nFORK/EXIT events) in builtin-report.c:\n\n        /*\n         * A thread clone will have the same PID for both\n         * parent and child.\n         */\n        if (thread \u003d\u003d parent)\n                return 0;\n\nWill clearly fail.\n\nThe problem is that perf_counter_fork() reports the actual\nparent, instead of the cloning thread.\n\nFixing that (with the below patch), yields:\n\n # ./perf report -D | grep FORK\n0x4c8 [0x18]: PERF_EVENT_FORK: (1590:1590):(1589:1589)\n0xbd8 [0x18]: PERF_EVENT_FORK: (1590:1591):(1590:1590)\n0xc80 [0x18]: PERF_EVENT_FORK: (1590:1592):(1590:1590)\n0x3338 [0x18]: PERF_EVENT_FORK: (1590:1593):(1590:1590)\n0x66b0 [0x18]: PERF_EVENT_FORK: (1590:1594):(1590:1590)\n\nWhich both makes more sense and doesn\u0027t confuse perf report\nanymore.\n\nReported-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: paulus@samba.org\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003c1250172882.5241.62.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "970892a9031a5dc7217bd394fb9d89fa75a4a7bc",
      "tree": "d6d5eee6d24cde67c279d5cc753512fc85cd9e5b",
      "parents": [
        "3dab77fb1bf89664bb1c9544607159dcab6f7d57"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 13 11:47:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:58:05 2009 +0200"
      },
      "message": "perf_counter: Fix an ipi-deadlock\n\nperf_pending_counter() is called from IRQ context and will call\nperf_counter_disable(), however perf_counter_disable() uses\nsmp_call_function_single() which doesn\u0027t fancy being used with\nIRQs disabled due to IPI deadlocks.\n\nFix this by making it use the local __perf_counter_disable()\ncall and teaching the counter_sched_out() code about pending\ndisables as well.\n\nThis should cover the case where a counter migrates before the\npending queue gets processed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003c20090813103655.244097721@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3dab77fb1bf89664bb1c9544607159dcab6f7d57",
      "tree": "9b0a47c53784cb066cecfd3091ac6042ce21a29e",
      "parents": [
        "bcfc2602e8541ac13b1def38e2591dca072cff7a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 13 11:47:53 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:58:04 2009 +0200"
      },
      "message": "perf: Rework/fix the whole read vs group stuff\n\nReplace PERF_SAMPLE_GROUP with PERF_SAMPLE_READ and introduce\nPERF_FORMAT_GROUP to deal with group reads in a more generic\nway.\n\nThis allows you to get group reads out of read() as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003c20090813103655.117411814@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bcfc2602e8541ac13b1def38e2591dca072cff7a",
      "tree": "0e5601dac2fbc4ca1ff452cebd1adb345b710599",
      "parents": [
        "8fd101f20bdf771949a8f3a5a779877d09b2fb56"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 13 09:51:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:18:43 2009 +0200"
      },
      "message": "perf_counter: Fix swcounter context invariance\n\nperf_swcounter_is_counting() uses a lock, which means we cannot\nuse swcounters from NMI or when holding that particular lock,\nthis is unintended.\n\nThe below removes the lock, this opens up race window, but not\nworse than the swcounters already experience due to RCU\ntraversal of the context in perf_swcounter_ctx_event().\n\nThis also fixes the hard lockups while opening a lockdep\ntracepoint counter.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nLKML-Reference: \u003c1250149915.10001.66.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28402971d869e26271b25301011f667d3a5640c3",
      "tree": "39fe9451f609c3ad47382595c61db855ee5dc49d",
      "parents": [
        "8f7a0dc51674ad0dd06155291b0aed60d655943c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 10:13:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 10:13:22 2009 +0200"
      },
      "message": "perf_counter: Provide hw_perf_counter_setup_online() APIs\n\nProvide weak aliases for hw_perf_counter_setup_online(). This is\nused by the BTS patches (for v2.6.32), but it interacts with\nfixes so propagate this upstream. (it has no effect as of yet)\n\nAlso export perf_counter_output() to architecture code.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \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": "a4e95fc2cbb31d70a65beffeaf8773f881328c34",
      "tree": "c0a00094c9c38bad5e09fd19fe23521c361177d7",
      "parents": [
        "a044560c3a1f0ad75ce685c1ed7604820b9ed319"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 10 11:20:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 11:33:09 2009 +0200"
      },
      "message": "perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data\n\nRaw tracepoint data contains various kernel internals and\ndata from other users, so restrict this to CAP_SYS_ADMIN.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249896452.17467.75.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a044560c3a1f0ad75ce685c1ed7604820b9ed319",
      "tree": "51fa4979ad02d388b35e1a56020bfbd8c2e5329d",
      "parents": [
        "c0a8865e32c8d1a562db38e06ef31ef23282f646"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 10 11:16:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 11:33:09 2009 +0200"
      },
      "message": "perf_counter: Correct PERF_SAMPLE_RAW output\n\nPERF_SAMPLE_* output switches should unconditionally output the\ncorrect format, as they are the only way to unambiguously parse\nthe PERF_EVENT_SAMPLE data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249896447.17467.74.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a80b4a3539696f4b0574876326860323035a302",
      "tree": "9d2901259a2b25b181997f89495452fd7f06827b",
      "parents": [
        "3a43ce68ae1758fa6a839386025ef45acb6baa22"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 07 19:49:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:46 2009 +0200"
      },
      "message": "perf_counter: Fix a race on perf_counter_ctx\n\nWhile extending perfcounters with BTS hw-tracing, Markus\nMetzger managed to trigger this warning:\n\n   [  995.557128] WARNING: at kernel/perf_counter.c:1191 __perf_counter_task_sched_out+0x48/0x6b()\n\ntriggers because commit\n9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 (perf_counter: Full\ntask tracing) removed clearing of tsk-\u003eperf_counter_ctxp out\nfrom under ctx-\u003elock which introduced a race (against\nperf_lock_task_context).\n\nMove it back and deal with the exit notification by explicitly\npassing along the former task context.\n\nReported-by: Markus T Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249667341.17467.5.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a43ce68ae1758fa6a839386025ef45acb6baa22",
      "tree": "5431e80f427ac6312dc123ecfdb101ea71b3d364",
      "parents": [
        "10b8e3066066708f304e0fc5cfe658e05abf943d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 08 04:26:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:45 2009 +0200"
      },
      "message": "perf_counter: Fix tracepoint sampling to be part of generic sampling\n\nBased on Peter\u0027s comments, make tracepoint sampling generic\njust like all the other sampling bits are. This is a rename\nwith no code changes:\n\n- PERF_SAMPLE_TP_RECORD to PERF_SAMPLE_RAW\n- struct perf_tracepoint_record to perf_raw_record\n\nWe want the system in place that transport tracepoints raw\nsamples events into the perf ring buffer to be generalized and\nusable by any type of counter.\n\nReported-by; Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249698400-5441-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10b8e3066066708f304e0fc5cfe658e05abf943d",
      "tree": "1ccebafe8ae44f6f032f993c63eb58a6c2aadea4",
      "parents": [
        "25446036cbfc2c89faacdb4fb4603943d2197dc6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 08 04:26:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:44 2009 +0200"
      },
      "message": "perf_counter: Work around gcc warning by initializing tracepoint record unconditionally\n\nDespite that the tracepoint record is always present when the\nPERF_SAMPLE_TP_RECORD flag is set, gcc raises a warning,\nthinking it might not be initialized:\n\n  kernel/perf_counter.c: In function ‘perf_counter_output’:\n  kernel/perf_counter.c:2650: warning: ‘tp’ may be used uninitialized in this function\n\nThen, initialize it to NULL and always check if it\u0027s not NULL\nbefore dereference it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249698400-5441-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b4b6658e152ed4568cfff48175d93645df081d1",
      "tree": "663ff8dc6b7b11fcfbfaf6e24e146e2e29b3489c",
      "parents": [
        "46ab976443c6c566c8fe6fc72a6733a55ba9fbea"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 09:29:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:30 2009 +0200"
      },
      "message": "perf_counter: Fix software counters for fast moving event sources\n\nReimplement the software counters to deal with fast moving\nevent sources (such as tracepoints). This means being able\nto generate multiple overflows from a single \u0027event\u0027 as well\nas support throttling.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75",
      "tree": "08a9621cb1318f73a37faeed14c4e728408551ad",
      "parents": [
        "3a6593050fbd8bbcaed3a44d01c31d907315c86c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 07 01:25:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:53:48 2009 +0200"
      },
      "message": "perf_counter: Fix/complete ftrace event records sampling\n\nThis patch implements the kernel side support for ftrace event\nrecord sampling.\n\nA new counter sampling attribute is added:\n\n   PERF_SAMPLE_TP_RECORD\n\nwhich requests ftrace events record sampling. In this case\nif a PERF_TYPE_TRACEPOINT counter is active and a tracepoint\nfires, we emit the tracepoint binary record to the\nperfcounter event buffer, as a sample.\n\nResult, after setting PERF_SAMPLE_TP_RECORD attribute from perf\nrecord:\n\n perf record -f -F 1 -a -e workqueue:workqueue_execution\n perf report -D\n\n 0x21e18 [0x48]: event: 9\n .\n . ... raw event: size 72 bytes\n .  0000:  09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff  ......H........\n .  0010:  0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00  ........!......\n .  0020:  2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e  +...........eve\n .  0030:  74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00  ts/1...........\n .  0040:  e0 b1 31 81 ff ff ff ff                          .......\n.\n0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33\n\nThe raw ftrace binary record starts at offset 0020.\n\nTranslation:\n\n struct trace_entry {\n\ttype\t\t\u003d 0x2b \u003d 43;\n\tflags\t\t\u003d 1;\n\tpreempt_count\t\u003d 2;\n\tpid\t\t\u003d 0xa \u003d 10;\n\ttgid\t\t\u003d 0xa \u003d 10;\n }\n\n thread_comm \u003d \"events/1\"\n thread_pid  \u003d 0xa \u003d 10;\n func\t    \u003d 0xffffffff8131b1e0 \u003d flush_to_ldisc()\n\nWhat will come next?\n\n - Userspace support (\u0027perf trace\u0027), \u0027flight data recorder\u0027 mode\n   for perf trace, etc.\n\n - The unconditional copy from the profiling callback brings\n   some costs however if someone wants no such sampling to\n   occur, and needs to be fixed in the future. For that we need\n   to have an instant access to the perf counter attribute.\n   This is a matter of a flag to add in the struct ftrace_event.\n\n - Take care of the events recursivity! Don\u0027t ever try to record\n   a lock event for example, it seems some locking is used in\n   the profiling fast path and lead to a tracing recursivity.\n   That will be fixed using raw spinlock or recursivity\n   protection.\n\n - [...]\n\n - Profit! :-)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a6593050fbd8bbcaed3a44d01c31d907315c86c",
      "tree": "5bbaa0015ed0b0986146cc6fa9390f559bcb66b1",
      "parents": [
        "e3560336be655c6791316482fe288b119f34c427"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 17:34:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:47:25 2009 +0200"
      },
      "message": "perf_counter, ftrace: Fix perf_counter integration\n\nAdds possible second part to the assign argument of TP_EVENT().\n\n  TP_perf_assign(\n\t__perf_count(foo);\n\t__perf_addr(bar);\n  )\n\nWhich, when specified make the swcounter increment with @foo instead\nof the usual 1, and report @bar for PERF_SAMPLE_ADDR (data address\nassociated with the event) when this triggers a counter overflow.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1054598cab8674438675085fae459e960eb10799",
      "tree": "9dcf2c60080e8275bded902f7a08ebcd8140dfcc",
      "parents": [
        "9424edc2da097c8589fcc24a72552d33e54be161"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 06 18:06:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 06 20:25:18 2009 +0200"
      },
      "message": "perf_counter: Fix double list iteration in per task precise stats\n\nBrice Goglin reported this crash with per task precise stats:\n\n\u003e I finally managed to test the threaded perfcounter statistics (thanks a\n\u003e lot for implementing it). I am running 2.6.31-rc5 (with the AMD\n\u003e magny-cours patches but I don\u0027t think they matter here). I am trying to\n\u003e measure local/remote memory accesses per thread during the well-known\n\u003e stream benchmark. It\u0027s compiled with OpenMP using 16 threads on a\n\u003e quad-socket quad-core barcelona machine.\n\u003e\n\u003e Command line is:\n\u003e  /mnt/scratch/bgoglin/cpunode/linux-2.6.31/tools/perf/perf record -f -s\n\u003e -e r1000001e0 -e r1000002e0 -e r1000004e0 -e r1000008e0 ./stream\n\u003e\n\u003e It seems to work fine with a single -e \u003ccounter\u003e on the command line\n\u003e while it crashes when there are at least 2 of them.\n\u003e It seems to work fine without -s as well.\n\nA silly copy-paste resulted in a messed up iteration which would\ncause the OOPS.\n\nReported-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nLKML-Reference: \u003c1249574786.32113.550.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f498cc5be7e013d8d6e4c616980ed0ffc8680d2",
      "tree": "25ef7a52d61ffd336c73b42dcf770424beb19cf3",
      "parents": [
        "e53c0994709166b111fbe9162d1a16ece7dfc45b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 23 14:46:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 13:47:56 2009 +0200"
      },
      "message": "perf_counter: Full task tracing\n\nIn order to be able to distinguish between no samples due to\ninactivity and no samples due to task ended, Arjan asked for\nPERF_EVENT_EXIT events. This is useful to the boot delay\ninstrumentation (bootchart) app.\n\nThis patch changes the PERF_EVENT_FORK to be emitted on every\nclone, and adds PERF_EVENT_EXIT to be emitted on task exit,\nafter the task\u0027s counters have been closed.\n\nThis task tracing is controlled through: attr.comm || attr.mmap\nand through the new attr.task field.\n\nSuggested-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n[ cleaned up perf_counter.h a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e53c0994709166b111fbe9162d1a16ece7dfc45b",
      "tree": "5182e8f91bffae8fcbe05a9b86e761f84b0f079e",
      "parents": [
        "470a1396c25c27b4aff08b14d5c9cd9b3da15e09"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 14:42:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 13:47:54 2009 +0200"
      },
      "message": "perf_counter: Collapse inherit on read()\n\nCurrently the counter value returned by read() is the value of\nthe parent counter, to which child counters are only fed back\non child exit.\n\nThus read() can return rather erratic (and meaningless) numbers\ndepending on the state of the child processes.\n\nChange this by always iterating the full child hierarchy on\nread() and sum all counters.\n\nSuggested-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.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": "3c3301083e3bea4d14c597106c7b20b4b85fc03d",
      "tree": "6eabdd073bdc27eb3f0dd999ea946955afca18bf",
      "parents": [
        "612e900c286a9535cc17da5171b0d8dcf8f3a12f",
        "0fdc7e67dd312986e30b861adff48732bd33eb3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 11:41:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 11:41:56 2009 -0700"
      },
      "message": "Merge branch \u0027perf-counters-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf\n\n* \u0027perf-counters-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits)\n  perf_counter tools: Give perf top inherit option\n  perf_counter tools: Fix vmlinux symbol generation breakage\n  perf_counter: Detect debugfs location\n  perf_counter: Add tracepoint support to perf list, perf stat\n  perf symbol: C++ demangling\n  perf: avoid structure size confusion by using a fixed size\n  perf_counter: Fix throttle/unthrottle event logging\n  perf_counter: Improve perf stat and perf record option parsing\n  perf_counter: PERF_SAMPLE_ID and inherited counters\n  perf_counter: Plug more stack leaks\n  perf: Fix stack data leak\n  perf_counter: Remove unused variables\n  perf_counter: Make call graph option consistent\n  perf_counter: Add perf record option to log addresses\n  perf_counter: Log vfork as a fork event\n  perf_counter: Synthesize VDSO mmap event\n  perf_counter: Make sure we dont leak kernel memory to userspace\n  perf_counter tools: Fix index boundary check\n  perf_counter: Fix the tracepoint channel to perfcounters\n  perf_counter, x86: Extend perf_counter Pentium M support\n  ...\n"
    },
    {
      "commit": "0dc3d523e8bc4718e0be2e4a742367d6e4be77cd",
      "tree": "fca11240e17b99220f83c16ca79eabe6688be7a3",
      "parents": [
        "61fe087059614226978f4d7bb36da26cb2d28f9f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jul 21 00:55:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 09:29:52 2009 -0700"
      },
      "message": "perf: fix stack data leak\n\nthe \"reserved\" field was not initialized to zero, resulting in 4 bytes\nof stack data leaking to userspace....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "966ee4d6b887c14159043ac80b8c3661d2bbe5e2",
      "tree": "2f06225dc023f5fc07f1135147dd09f19601ba2b",
      "parents": [
        "a0541234f89c93f313961ce7b28676e11488a5f0"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jul 22 23:05:46 2009 +1000"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: Fix throttle/unthrottle event logging\n\nRight now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE).\nFix this to print both a throttle and unthrottle event.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090722130546.GE9029@kryten\u003e\n"
    },
    {
      "commit": "7f453c24b95a085fc7bd35d53b33abc4dc5a048b",
      "tree": "63d2b80acb3095a3e1a56c69d20a8137a1337aed",
      "parents": [
        "573402db02746179b3f95f83a11a787501f52d0a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 13:19:40 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: PERF_SAMPLE_ID and inherited counters\n\nAnton noted that for inherited counters the counter-id as provided by\nPERF_SAMPLE_ID isn\u0027t mappable to the id found through PERF_RECORD_ID\nbecause each inherited counter gets its own id.\n\nHis suggestion was to always return the parent counter id, since that\nis the primary counter id as exposed. However, these inherited\ncounters have a unique identifier so that events like\nPERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which\ncounter gets modified, which is important when trying to normalize the\nsample streams.\n\nThis patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD,\nwhich is more useful anyway, since changing periods became a lot more\ncommon than initially thought -- rendering PERF_EVENT_PERIOD the less\nuseful solution (also, PERF_SAMPLE_PERIOD reports the more accurate\nvalue, since it reports the value used to trigger the overflow,\nwhereas PERF_EVENT_PERIOD simply reports the requested period changed,\nwhich might only take effect on the next cycle).\n\nThis still leaves us PERF_EVENT_THROTTLE to consider, but since that\n_should_ be a rare occurrence, and linking it to a primary id is the\nmost useful bit to diagnose the problem, we introduce a\nPERF_SAMPLE_STREAM_ID, for those few cases where the full\nreconstruction is important.\n\n[Does change the ABI a little, but I see no other way out]\n\nSuggested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1248095846.15751.8781.camel@twins\u003e\n"
    },
    {
      "commit": "573402db02746179b3f95f83a11a787501f52d0a",
      "tree": "111fb9d0b65d31cb9308a84164f111874d2522ae",
      "parents": [
        "c9f73a3dd27e03411f18a58c0814d51392d2b17a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 11:13:50 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf_counter: Plug more stack leaks\n\nPer example of Arjan\u0027s patch, I went through and found a few more.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "c9f73a3dd27e03411f18a58c0814d51392d2b17a",
      "tree": "2b687a70433efc77f3f890bd5f09d31414d26f8e",
      "parents": [
        "9b7019ae6a542a801a80df6694c66e240e2c3e39"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jul 21 00:55:05 2009 -0700"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf: Fix stack data leak\n\nthe \"reserved\" field was not initialized to zero, resulting in 4 bytes\nof stack data leaking to userspace....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "1d2f37945d1b3a14086c5ea802486778b635cf97",
      "tree": "b40a1a596a29acc1511f661c27f284dd06b0bc9d",
      "parents": [
        "1483b19f8f5e8ad0c8816de368b099322dad4db5",
        "f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:48 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:48 2009 +0200"
      },
      "message": "Merge commit \u0027tip/perfcounters/core\u0027 into perf-counters-for-linus\n"
    },
    {
      "commit": "413ee3b48ab582ffea33e7e140c7a2c5ea657e9a",
      "tree": "3ecf161d9db15c95ba0a4d02aa18e243b796a04b",
      "parents": [
        "23cdb5d5171d591ec911aada682e09d53c14a810"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:15:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:29 2009 +0200"
      },
      "message": "perf_counter: Make sure we dont leak kernel memory to userspace\n\nThere are a few places we are leaking tiny amounts of kernel\nmemory to userspace. This happens when writing out strings\nbecause we always align the end to 64 bits.\n\nTo avoid this we should always use an appropriately sized\ntemporary buffer and ensure it is zeroed.\n\nSince d_path assembles the string from the end of the buffer\nbackwards, we need to add 64 bits after the buffer to allow for\nalignment.\n\nWe also need to copy arch_vma_name to the temporary buffer,\nbecause if we use it directly we may end up copying to\nuserspace a number of bytes after the end of the string\nconstant.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.273972048@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4d7d0b9545721d3cabb19d15163bbc66b797707",
      "tree": "b924437019f05bdf1d5504062822711e2869ca1a",
      "parents": [
        "9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Mon Jul 06 09:31:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 13 09:23:10 2009 +0200"
      },
      "message": "perf_counter: Fix the tracepoint channel to perfcounters\n\nFix a missed rename in EVENT_PROFILE support so that it gets\nbuilt and allows tracepoint tracing from the \u0027perf\u0027 tool.\n\nFix a typo in the (never before built \u0026 enabled) portion in\nperf_counter.c as well, and update that code to the\nattr.config changes as well.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Ben Gamari \u003cbgamari.foss@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.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: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1246869094-21237-1-git-send-email-chris@chris-wilson.co.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "71a851b4d2a815adcfac09c1adda7ef6811fde66",
      "tree": "db00854638a439db907768be0524e70236baba1d",
      "parents": [
        "984b838ce69c063a91b87550598ab7f3439dd94a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 10 09:06:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 10 10:28:40 2009 +0200"
      },
      "message": "perf_counter: Stop open coding unclone_ctx\n\nInstead of open coding the unclone context thingy, put it in\na common function.\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": "5bfd7560979062ad75c9805c1719cec990b5db29",
      "tree": "cdefaa4920ad4f87f4cd66f96cb4112b2be2bde3",
      "parents": [
        "c8236db9cd7aa492dcfcdcca702638e704abed49"
      ],
      "author": {
        "name": "Kevin Cernekee",
        "email": "cernekee@gmail.com",
        "time": "Sun Jul 05 12:08:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 06 13:57:03 2009 -0700"
      },
      "message": "Fix virt_to_phys() warnings\n\nThese warnings were observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0:\n\nmm/page_alloc.c: In function \u0027alloc_pages_exact\u0027:\nmm/page_alloc.c:1986: warning: passing argument 1 of \u0027virt_to_phys\u0027 makes pointer from integer without a cast\n\ndrivers/usb/mon/mon_bin.c: In function \u0027mon_alloc_buff\u0027:\ndrivers/usb/mon/mon_bin.c:1264: warning: passing argument 1 of \u0027virt_to_phys\u0027 makes pointer from integer without a cast\n\n[akpm@linux-foundation.org: fix kernel/perf_counter.c too]\nSigned-off-by: Kevin Cernekee \u003ccernekee@gmail.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57e7986ed142417498155ebcd5eaf617ac37136d",
      "tree": "81ce9acd79ee7e6383dfd5cdadc4e016a012990e",
      "parents": [
        "051ae7f7344f453616b6b10332d4d8e1d40ed823"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Jun 30 16:07:19 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 30 12:00:16 2009 +0200"
      },
      "message": "perf_counter: Provide a way to enable counters on exec\n\nThis provides a way to mark a counter to be enabled on the next\nexec. This is useful for measuring the total activity of a\nprogram without including overhead from the process that\nlaunches it.\n\nThis also changes the perf stat command to use this new\nfacility.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19017.43927.838745.689203@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19d2e755436054dfc2be640bffc32e427c37ac3d",
      "tree": "f53c2e93820d1ca6d04e8b42c7bca08af01c9b44",
      "parents": [
        "f55c555226b1010b249730ec6b232e5470286950"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 26 13:10:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 26 17:48:54 2009 +0200"
      },
      "message": "perf_counter: Complete counter swap\n\nComplete the counter swap by indeed switching the times too and\nupdating the userpage after modifying the counter values.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1246014623.31755.195.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6e18ec79b023d5fe84226cef533cf0e3770ce93",
      "tree": "6fc1bd9afd21454864abe2aec6a0e35e17d47f04",
      "parents": [
        "bfbd3381e63aa2a14c6706afb50ce4630aa0d9a2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 25 11:27:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 25 21:39:08 2009 +0200"
      },
      "message": "perf_counter: Rework the sample ABI\n\nThe PERF_EVENT_READ implementation made me realize we don\u0027t\nactually need the sample_type int the output sample, since\nwe already have that in the perf_counter_attr information.\n\nTherefore, remove the PERF_EVENT_MISC_OVERFLOW bit and the\nevent-\u003etype overloading, and imply put counter overflow\nsamples in a PERF_EVENT_SAMPLE type.\n\nThis also fixes the issue that event-\u003etype was only 32-bit\nand sample_type had 64 usable bits.\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": "bfbd3381e63aa2a14c6706afb50ce4630aa0d9a2",
      "tree": "9b165a3068b8a7976ea34e633013165855bb5f51",
      "parents": [
        "38b200d67636a30cb8dc1508137908e7a649b5c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 24 21:11:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 25 21:39:07 2009 +0200"
      },
      "message": "perf_counter: Implement more accurate per task statistics\n\nWith the introduction of PERF_EVENT_READ we have the\npossibility to provide accurate counter values for\nindividual tasks in a task hierarchy.\n\nHowever, due to the lazy context switching used for similar\ncounter contexts our current per task counts are way off.\n\nIn order to maintain some of the lazy switch benefits we\ndon\u0027t disable it out-right, but simply iterate the active\ncounters and flip the values between the contexts.\n\nThis only reads the counters but does not need to reprogram\nthe full PMU.\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": "38b200d67636a30cb8dc1508137908e7a649b5c9",
      "tree": "74f88d57a7f55075d4cd0b46690ff4b319dca642",
      "parents": [
        "194002b274e9169a04beb1b23dcc132159bb566c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 23 20:13:11 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 25 21:39:07 2009 +0200"
      },
      "message": "perf_counter: Add PERF_EVENT_READ\n\nProvide a read() like event which can be used to log the\ncounter value at specific sites such as child-\u003eparent\nfolding on exit.\n\nIn order to be useful, we log the counter parent ID, not the\nactual counter ID, since userspace can only relate parent\nIDs to perf_counter_attr constructs.\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": "194002b274e9169a04beb1b23dcc132159bb566c",
      "tree": "6977e48df4a1429dae999d4afe23e5e28febc99e",
      "parents": [
        "7f8b4e4e0988dadfd22330fd147ad2453e19f510"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 22 16:35:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 25 21:39:06 2009 +0200"
      },
      "message": "perf_counter, x86: Add mmap counter read support\n\nUpdate the mmap control page with the needed information to\nuse the userspace RDPMC instruction for self monitoring.\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": "7f8b4e4e0988dadfd22330fd147ad2453e19f510",
      "tree": "b57c6b0fbfd3718dbc6f27bd7f422bb276c11469",
      "parents": [
        "41f95331b972a039f519ae0c70f051b7121f7346"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 22 14:34:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 25 21:39:05 2009 +0200"
      },
      "message": "perf_counter: Add scale information to the mmap control page\n\nAdd the needed time scale to the self-profile mmap information.\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": "f344011ccb85469445369153c3d27c4ee4bc2ac8",
      "tree": "66f041a826d09c690a5e6bb3d091494d52bc8565",
      "parents": [
        "b84fbc9fb1d943e2c5f4efe52ed0e3c93a4bdb6a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 22 13:58:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 23 11:42:46 2009 +0200"
      },
      "message": "perf_counter: Optimize perf_counter_alloc()\u0027s inherit case\n\nWe don\u0027t need to add usage counts for swcounter and attr usage\nmodels for inherited counters since the parent counter will\nalways have one, which suffices to generate the needed output.\n\nThis avoids up to 3 global atomic increments per inherited\ncounter.\n\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b84fbc9fb1d943e2c5f4efe52ed0e3c93a4bdb6a",
      "tree": "aaa492fd620de2177c6b8e5bb52348b30c7e49c7",
      "parents": [
        "f29ac756a40d0f1bb07d682ea521e7b666ff06d5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 22 13:57:40 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 23 11:42:45 2009 +0200"
      },
      "message": "perf_counter: Push inherit into perf_counter_alloc()\n\nTeach perf_counter_alloc() about inheritance so that we can\noptimize the inherit path in the next patch.\n\nRemove the child_counter-\u003eatrr.inherit \u003d 1 line because the\nonly way to get there is if parent_counter-\u003eattr.inherit \u003d\u003d 1\nand we copy the attrs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f29ac756a40d0f1bb07d682ea521e7b666ff06d5",
      "tree": "6fabe2f38ae10f824e57fdd5b035ba81b75a71a8",
      "parents": [
        "3d906ef10a539ff336010afab8f6f9c4fe379695"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 19 18:27:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 23 11:42:44 2009 +0200"
      },
      "message": "perf_counter: Optimize perf_swcounter_event()\n\nSimilar to tracepoints, use an enable variable to reduce\noverhead when unused.\n\nOnly look for a counter of a particular event type when we know\nthere is at least one in the system.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92bf309a9cd5fedd6c8eefbce0b9a95ada82d0a9",
      "tree": "c52fef4c699f626c0730feccb899eca75c9e4915",
      "parents": [
        "9cffa8d53335d891cc0ecb3824a67118b3ee4b2f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 19 18:11:53 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 20 12:30:30 2009 +0200"
      },
      "message": "perf_counter: Push perf_sample_data through the swcounter code\n\nPush the perf_sample_data further outwards to the swcounter interface,\nto abstract it away some more.\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": "b49a9e7e72103ea91946453c19703a4dfa1994fe",
      "tree": "7e9e74881384c581afca56cc397901f71e904c8b",
      "parents": [
        "0c87197142427063e096f11603543ca874045952"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 19 17:39:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 19 17:57:36 2009 +0200"
      },
      "message": "perf_counter: Close race in perf_lock_task_context()\n\nperf_lock_task_context() is buggy because it can return a dead\ncontext.\n\nthe RCU read lock in perf_lock_task_context() only guarantees\nthe memory won\u0027t get freed, it doesn\u0027t guarantee the object is\nvalid (in our case refcount \u003e 0).\n\nTherefore we can return a locked object that can get freed the\nmoment we release the rcu read lock.\n\nperf_pin_task_context() then increases the refcount and does an\nunlock on freed memory.\n\nThat increased refcount will cause a double free, in case it\nstarted out with 0.\n\nAmmend this by including the get_ctx() functionality in\nperf_lock_task_context() (all users already did this later\nanyway), and return a NULL context when the found one is\nalready dead.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e5289d4a181fb6c0b7a7607649af2ffdc491335c",
      "tree": "6c9e9ab46a29c538e4c505d3d3cd135265db08a2",
      "parents": [
        "f5970550d5ccf90453cbd7d260370ea99d1f6513"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 19 13:22:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 19 13:43:12 2009 +0200"
      },
      "message": "perf_counter: Simplify and fix task migration counting\n\nThe task migrations counter was causing rare and hard to decypher\nmemory corruptions under load. After a day of debugging and bisection\nwe found that the problem was introduced with:\n\n  3f731ca: perf_counter: Fix cpu migration counter\n\nTurning them off fixes the crashes. Incidentally, the whole\nperf_counter_task_migration() logic can be done simpler as well,\nby injecting a proper sw-counter event.\n\nThis cleanup also fixed the crashes. The precise failure mode is\nnot completely clear yet, but we are clearly not unhappy about\nhaving a fix ;-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43a21ea81a2400992561146327c4785ce7f7be38",
      "tree": "d4974c0ff9d7f40291515c5c0cf7e0d51abccb66",
      "parents": [
        "d3a9262e59f7fb83c6d44df3b2b1460ed57d3ea1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 25 19:39:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 18 14:46:11 2009 +0200"
      },
      "message": "perf_counter: Add event overlow handling\n\nAlternative method of mmap() data output handling that provides\nbetter overflow management and a more reliable data stream.\n\nUnlike the previous method, that didn\u0027t have any user-\u003ekernel\nfeedback and relied on userspace keeping up, this method relies on\nuserspace writing its last read position into the control page.\n\nIt will ensure new output doesn\u0027t overwrite not-yet read events,\nnew events for which there is no space left are lost and the\noverflow counter is incremented, providing exact event loss\nnumbers.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75f937f24bd9c003dcb9d7d5509f23459f1f6000",
      "tree": "859d5ebe9b47b952d13873d7a2a580012682aeb0",
      "parents": [
        "613d8602292165f86ba1969784fea01a06d55900"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 15 15:05:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 15 15:57:49 2009 +0200"
      },
      "message": "perf_counter: Fix ctx-\u003emutex vs counter-\u003emutex inversion\n\nSimon triggered a lockdep inversion report about us taking ctx-\u003emutex\nvs counter-\u003emutex in inverse orders. Fix that up.\n\nReported-by: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\nTested-by: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5e8da6449d4ef4bac35ea9b9719a2cda02e7b39",
      "tree": "e2de81cecc4b72a7ae35624672d878e4c22bb5e9",
      "parents": [
        "87847b8f26cc7176ec9b239898dc7ce47a94e1a6"
      ],
      "author": {
        "name": "Marti Raudsepp",
        "email": "marti@juffo.org",
        "time": "Sat Jun 13 02:35:01 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 12:58:24 2009 +0200"
      },
      "message": "perf_counter: Fix stack corruption in perf_read_hw\n\nWith PERF_FORMAT_ID, perf_read_hw now needs space for up to 4 values.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "87847b8f26cc7176ec9b239898dc7ce47a94e1a6",
      "tree": "12742fdb5a0569b6b5f6502fabb831314a9431a2",
      "parents": [
        "971738f3669092dd247eaf89658f2685180492a0"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat Jun 13 17:06:50 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 12:58:24 2009 +0200"
      },
      "message": "perf_counter: Fix atomic_set vs. atomic64_t type mismatch\n\nUsing atomic_set on an atomic64_t variable gives a compiler\nwarning on powerpc, and won\u0027t give the desired result at runtime.\nThis fixes an instance of this error in the perf_counter code.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18995.20490.979429.244883@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "974802eaa1afdc87e00821df7020a2b3c6fee623",
      "tree": "b5c38bece7f4948fe9d5cf9be02a0042e0fa39f6",
      "parents": [
        "bbd36e5e6aa6f1757c84cdb406b6eb81686d14af"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 12 12:46:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 12 14:28:52 2009 +0200"
      },
      "message": "perf_counter: Add forward/backward attribute ABI compatibility\n\nProvide for means of extending the perf_counter_attr in a \u0027natural\u0027 way.\n\nWe allow growing the structure by appending fields at the end by specifying\nthe full structure size inside it.\n\nWhen a new kernel sees a smaller (old) structure, it will 0 pad the tail.\nWhen an old kernel sees a larger (new) structure, it will verify the tail\nconsists of 0s, otherwise fail.\n\nIf we fail due to a size-mismatch, we return -E2BIG and write the kernel\u0027s\nnative attribe size back into the provided structure.\n\nFurthermore, add some attribute verification, so that we\u0027ll fail counter\ncreation when unknown bits are present (PERF_SAMPLE, PERF_FORMAT, or in\nthe __reserved fields).\n\n(This ABI detail is introduced while keeping the existing syscall ABI.)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "081fad86178ec0f64f32f1bd04cf4aad22714fb9",
      "tree": "314fb9c8c6ab4941ef6f750aa785341e5a372f85",
      "parents": [
        "f1a3c979059b2033d0b1cc4f9ee5c90bf92b5f94"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 17:57:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 12 14:28:51 2009 +0200"
      },
      "message": "perf_counter: Remove PERF_TYPE_RAW special casing\n\nThe PERF_TYPE_RAW special case seems superfluous these days. Remove\nit and add it to the switch() stmt like the others.\n\n[ Impact: cleanup ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cca3f454a85ff42d426401bce7ac804541b2bd03",
      "tree": "743b60d71cd4babb65619556db4101595a5fc18b",
      "parents": [
        "a308444ceb576d3089f9ca0dfd097eba6f1e623f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 14:57:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:54:45 2009 +0200"
      },
      "message": "perf_counter: Add counter-\u003eid to the throttle event\n\nSo as to be able to distuinguish between multiple counters.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4dbfa8f3131a84257223393905f7efad0ca5996",
      "tree": "67bb2666868c4449c2fa9ba6dc931721f60deb6c",
      "parents": [
        "1c432d899d32d36371ee4ee310fa3609cf0e5742"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 14:06:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:54:15 2009 +0200"
      },
      "message": "perf_counter: Standardize event names\n\nPure renames only, to PERF_COUNT_HW_* and PERF_COUNT_SW_*.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c432d899d32d36371ee4ee310fa3609cf0e5742",
      "tree": "cd2891fb0c8a03a5b8ac1100b23687d02a981b25",
      "parents": [
        "729ff5e2aaf181f5d3ab849337fce406cd19b1d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 13:19:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 17:53:41 2009 +0200"
      },
      "message": "perf_counter: Rename enums\n\nRename the perf enums to be in the \u0027perf_\u0027 namespace and strictly\nenumerate the ABI bits.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df58ab24bf26b166874bfb18b3b5a2e0a8e63179",
      "tree": "388b2fb9d94864c9bd6d6ab9329c31760b7366ae",
      "parents": [
        "0764771dab80d7b84b9a271bee7f1b21a04a3f0c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 11:25:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 16:48:38 2009 +0200"
      },
      "message": "perf_counter: Rename perf_counter_limit sysctl\n\nRename perf_counter_limit to perf_counter_max_sample_rate and\nprohibit creation of counters with a known higher sample\nfrequency.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0764771dab80d7b84b9a271bee7f1b21a04a3f0c",
      "tree": "36cb6400e257393208779a95b4868df2f9af6cf6",
      "parents": [
        "106b506c3a8b74daa5751e83ed3e46438fcf9a52"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 11 11:18:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 16:48:38 2009 +0200"
      },
      "message": "perf_counter: More paranoia settings\n\nRename the perf_counter_priv knob to perf_counter_paranoia (because\npriv can be read as private, as opposed to privileged) and provide\none more level:\n\n 0 - permissive\n 1 - restrict cpu counters to privilidged contexts\n 2 - restrict kernel-mode code counting and profiling\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e350de37ac9607012fcf9c5314a28fbddf8f43c",
      "tree": "d0f311bcf49d887e6d488ea72b2913cb00eaf910",
      "parents": [
        "df1a132bf3d3508f863336c80a27806a2ac947e0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 21:34:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 02:39:02 2009 +0200"
      },
      "message": "perf_counter: Accurate period data\n\nWe currently log hw.sample_period for PERF_SAMPLE_PERIOD, however this is\nincorrect. When we adjust the period, it will only take effect the next\ncycle but report it for the current cycle. So when we adjust the period\nfor every cycle, we\u0027re always wrong.\n\nSolve this by keeping track of the last_period.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df1a132bf3d3508f863336c80a27806a2ac947e0",
      "tree": "2aa26b9c5d0528e816a80bd3b58c9b2442670d5c",
      "parents": [
        "ea1900e571d40a3ce60c835c2f21e1fd8c5cb663"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 21:02:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 02:39:02 2009 +0200"
      },
      "message": "perf_counter: Introduce struct for sample data\n\nFor easy extension of the sample data, put it in a structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66fff22483d8542dfb4d61a28d21277bbde321e8",
      "tree": "615c582da3ef5bb75063467e82e9c63b010b535e",
      "parents": [
        "f7b7c26e01e51fe46097e11f179dc71ce7950084"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 22:53:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 11 02:39:01 2009 +0200"
      },
      "message": "perf_counter: Annotate exit ctx recursion\n\nEver since Paul fixed it to unclone the context before taking the\nctx-\u003elock this became a false positive, annotate it away.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd2b5b12849a3446abad0b25e920f86f5480b309",
      "tree": "b0eacf6002f2015c0483390619a3f874bcb7e7d2",
      "parents": [
        "dc81081b2d9a6a9d64dad1bef1e5fc9fb660e53e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 13:40:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 10 16:55:26 2009 +0200"
      },
      "message": "perf_counter: More aggressive frequency adjustment\n\nAlso employ the overflow handler to adjust the frequency, this results\nin a stable frequency in about 40~50 samples, instead of that many ticks.\n\nThis also means we can start sampling at a sample period of 1 without\nrunning head-first into the throttle.\n\nIt relies on sched_clock() to accurately measure the time difference\nbetween the overflow NMIs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8326f44da090d6d304d29b9fdc7fb3e20889e329",
      "tree": "a15b2a2155c64a327b3cdf1da0997755d49390eb",
      "parents": [
        "a21ca2cac582886a3e95c8bb84ff7c52d4d15e54"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 20:22:46 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 13:14:47 2009 +0200"
      },
      "message": "perf_counter: Implement generalized cache event types\n\nExtend generic event enumeration with the PERF_TYPE_HW_CACHE\nmethod.\n\nThis is a 3-dimensional space:\n\n       { L1-D, L1-I, L2, ITLB, DTLB, BPU } x\n       { load, store, prefetch } x\n       { accesses, misses }\n\nUser-space passes in the 3 coordinates and the kernel provides\na counter. (if the hardware supports that type and if the\ncombination makes sense.)\n\nCombinations that make no sense produce a -EINVAL.\nCombinations that are not supported by the hardware produce -ENOTSUP.\n\nExtend the tools to deal with this, and rewrite the event symbol\nparsing code with various popular aliases for the units and\naccess methods above. So \u0027l1-cache-miss\u0027 and \u0027l1d-read-ops\u0027 are\nboth valid aliases.\n\n( x86 is supported for now, with the Nehalem event table filled in,\n  and with Core2 and Atom having placeholder tables. )\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a21ca2cac582886a3e95c8bb84ff7c52d4d15e54",
      "tree": "d110005d81e46b1afb3204fbaacc132d0ec946ee",
      "parents": [
        "2f335a02b3c816e77e7df1d15b12e3bbb8f4c8f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 09:58:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 11:37:22 2009 +0200"
      },
      "message": "perf_counter: Separate out attr-\u003etype from attr-\u003econfig\n\nCounter type is a frequently used value and we do a lot of\nbit juggling by encoding and decoding it from attr-\u003econfig.\n\nClean this up by creating a separate attr-\u003etype field.\n\nAlso clean up the various similarly complex user-space bits\nall around counter attribute management.\n\nThe net improvement is significant, and it will be easier\nto add a new major type (which is what triggered this cleanup).\n\n(This changes the ABI, all tools are adapted.)\n(PowerPC build-tested.)\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a24ed6c6082ec65d19331a4bfa30c0512a1a822",
      "tree": "0d8beed316cf34cd8e986eb2f9b230a29caa6c88",
      "parents": [
        "689802b2d0536e72281dc959ab9cb34fb3c304cf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 18:01:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 18:07:48 2009 +0200"
      },
      "message": "perf_counter: Fix frequency adjustment for \u003c HZ\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "689802b2d0536e72281dc959ab9cb34fb3c304cf",
      "tree": "9be866e918391e86eaecd8a05124f86693504d3f",
      "parents": [
        "ac4bcf889469ffbca88f234d3184452886a47905"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 15:05:43 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 18:07:47 2009 +0200"
      },
      "message": "perf_counter: Add PERF_SAMPLE_PERIOD\n\nIn order to allow easy tracking of the period, also provide means of\nadding it to the sample data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac4bcf889469ffbca88f234d3184452886a47905",
      "tree": "7a183aaa0524d2e1ad192f01ac9a48ba2e9b51d6",
      "parents": [
        "136107a76fe5f62906162f730834477b71cf131e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 14:44:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 18:07:47 2009 +0200"
      },
      "message": "perf_counter: Change PERF_SAMPLE_CONFIG into PERF_SAMPLE_ID\n\nThe purpose of PERF_SAMPLE_CONFIG was to identify the counters,\nsince then we\u0027ve added counter ids, use those instead.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "089dd79db9264dc0da602bad45d42f1b3e7d1e07",
      "tree": "017b1efd0bc4f3d15b92ed6fae5dfc3d1b164872",
      "parents": [
        "f7b6eb3fa07269da20dbbde8ba37a0273fdbd9c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 05 14:04:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 14:46:41 2009 +0200"
      },
      "message": "perf_counter: Generate mmap events for install_special_mapping()\n\nIn order to track the vdso also generate mmap events for\ninstall_special_mapping().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6dc5f2a41759987e35e757ef00192e7b424563bb",
      "tree": "b7dddd415cd2d4dcf4e060a8fc769903d2a57a01",
      "parents": [
        "76a0f40fd6eff1bce3b91925cea7587b3399fe80"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 05 12:36:28 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 05 08:22:26 2009 +0200"
      },
      "message": "perf_counter: Fix lockup with interrupting counters\n\nCommit 8e3747c1 (\"perf_counter: Change data head from u32 to u64\")\nchanged the type of \u0027head\u0027 in struct perf_mmap_data from atomic_t\nto atomic_long_t, but missed converting one use of atomic_read on\nit to atomic_long_read.  The effect of using atomic_read rather than\natomic_long_read on powerpc (and other big-endian architectures) is\nthat we get the high half of the 64-bit quantity, resulting in the\ncmpxchg retry loop in perf_output_begin spinning forever as soon as\ndata-\u003ehead becomes non-zero.  On little-endian architectures such as\nx86 we would get the low half, resulting in a lockup once data-\u003ehead\nbecomes greater than 4G.\n\nThis fixes it by using atomic_long_read rather than atomic_read.\n\n[ Impact: fix perfcounter lockup on PowerPC / big-endian systems ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18984.33964.21541.743096@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d99e9446200c1ffab28cb0e39b76c34a2bfafd06",
      "tree": "10cd2f67f3bffaf8dcec79c197689f440faf9265",
      "parents": [
        "60313ebed739b331e8e61079da27a11ee3b73a30"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 04 17:08:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 04 17:51:38 2009 +0200"
      },
      "message": "perf_counter: Remove munmap stuff\n\nIn name of keeping it simple, only track mmap events. Userspace\nwill have to remove old overlapping maps when it encounters them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60313ebed739b331e8e61079da27a11ee3b73a30",
      "tree": "8476fbd05be709595876360765776dd9ca20608d",
      "parents": [
        "20c84e959ec11b1803d2b2832eef703d5fbe7f7b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 04 16:53:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 04 17:51:38 2009 +0200"
      },
      "message": "perf_counter: Add fork event\n\nCreate a fork event so that we can easily clone the comm and\ndso maps without having to generate all those events.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "128f048f0f0d2a477ad2555e7acd2ad15a1b6061",
      "tree": "5927a26da343af2189e47b497eec38680f19294f",
      "parents": [
        "233f0b95ca3a0d1dcbd70bc7e519069a8e10d23e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 22:19:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 23:39:51 2009 +0200"
      },
      "message": "perf_counter: Fix throttling lock-up\n\nThrottling logic is broken and we can lock up with too small\nhw sampling intervals.\n\nMake the throttling code more robust: disable counters even\nif we already disabled them.\n\n( Also clean up whitespace damage i noticed while reading\n  various pieces of code related to throttling. )\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a96bbc16418bc691317f265d6bf98ba941ca9c1a",
      "tree": "136e40a12a94653e8224d6c09d5384b4140e0532",
      "parents": [
        "8229289b607682f90b946ad2c319526303c17700"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 03 14:01:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 14:57:03 2009 +0200"
      },
      "message": "perf_counter: Fix race in counter initialization\n\nWe need the PID namespace and counter ID available when the\ncounter overflows and we need to generate a sample event.\n\n[ Impact: fix kernel crash with high-frequency sampling ]\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\n[ fixed a further crash and cleaned up the initialization a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d48696f87e3618b0d35bd3e4e9d7c188d51e7de",
      "tree": "633d37089c368c0cc2c4f8120014d57df215bb53",
      "parents": [
        "08247e31ca79b8f02cce47b7e8120797a8726606"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 19:22:16 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:33 2009 +0200"
      },
      "message": "perf_counter: Rename perf_counter_hw_event \u003d\u003e perf_counter_attr\n\nThe structure isn\u0027t hw only and when I read event, I think about those\nthings that fall out the other end. Rename the thing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08247e31ca79b8f02cce47b7e8120797a8726606",
      "tree": "1094dc286ba5033904d07d256f7d739abb4d421d",
      "parents": [
        "8e3747c13c39246c7e46def7cf495d9d21d4c5f9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 16:46:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:32 2009 +0200"
      },
      "message": "perf_counter: Add ioctl for changing the sample period/frequency\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e3747c13c39246c7e46def7cf495d9d21d4c5f9",
      "tree": "6a57736dd784947dbd40b75674effcb63e6696a1",
      "parents": [
        "e4abb5d4f7ddabc1fc7c392cf0a10d8e5868c9ca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 16:16:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:32 2009 +0200"
      },
      "message": "perf_counter: Change data head from u32 to u64\n\nSince some people worried that 4G might not be a large enough\nas an mmap data window, extend it to 64 bit for capable\nplatforms.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.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": "b23f3325ed465f1bd914384884269af0d106778c",
      "tree": "7b263c707e50463f1e1defc60d371b09e352a21a",
      "parents": [
        "8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:13:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:30 2009 +0200"
      },
      "message": "perf_counter: Rename various fields\n\nA few renames:\n\n  s/irq_period/sample_period/\n  s/irq_freq/sample_freq/\n  s/PERF_RECORD_/PERF_SAMPLE_/\n  s/record_type/sample_type/\n\nAnd change both the new sample_type and read_format to u64.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1",
      "tree": "bd3f45c348f48411a4496229572643211cbd59b8",
      "parents": [
        "53e111a730ea8b002d57dd226098c12789993329"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:08:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:29 2009 +0200"
      },
      "message": "perf_counter: Add unique counter id\n\nStephan raised the issue that we currently cannot distinguish between\nsimilar counters within a group (PERF_RECORD_GROUP uses the config\nvalue as identifier).\n\nTherefore, generate a new ID for each counter using a global u64\nsequence counter.\n\nReported-by: Stephane Eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "709e50cf870e61745b39552044aa6c7c38e4f9e0",
      "tree": "b02ec75a1d67a904effedd39208ecbbcf46b9345",
      "parents": [
        "bf4e0ed3d027ce581be18496036862131b5f32aa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 14:13:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 16:16:25 2009 +0200"
      },
      "message": "perf_counter: Use PID namespaces properly\n\nStop using task_struct::pid and start using PID namespaces.\n\nPIDs will be reported in the PID namespace of the monitoring\ntask at the moment of counter creation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf4e0ed3d027ce581be18496036862131b5f32aa",
      "tree": "f55e5c85b286b3ace8b81f3ffc7e48590f4a7020",
      "parents": [
        "3f731ca60afc29f5bcdb5fd2a04391466313a9ac"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:53:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:55 2009 +0200"
      },
      "message": "perf_counter: Remove unused prev_state field\n\nThis removes the prev_state field of struct perf_counter since\nit is now unused.  It was only used by the cpu migration\ncounter, which doesn\u0027t use it any more.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.35052.915728.626374@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f731ca60afc29f5bcdb5fd2a04391466313a9ac",
      "tree": "ca9953e902e5043f62f56db31a0e990eed755e78",
      "parents": [
        "f38b082081bf69a06fffb8b32a175999e2320c5b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:52:30 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:54 2009 +0200"
      },
      "message": "perf_counter: Fix cpu migration counter\n\nThis fixes the cpu migration software counter to count\ncorrectly even when contexts get swapped from one task to\nanother.  Previously the cpu migration counts reported by perf\nstat were bogus, ranging from negative to several thousand for\na single \"lat_ctx 2 8 32\" run.  With this patch the cpu\nmigration count reported for \"lat_ctx 2 8 32\" is almost always\nbetween 35 and 44.\n\nThis fixes the problem by adding a call into the perf_counter\ncode from set_task_cpu when tasks are migrated.  This enables\nus to use the generic swcounter code (with some modifications)\nfor the cpu migration counter.\n\nThis modifies the swcounter code to allow a NULL regs pointer\nto be passed in to perf_swcounter_ctx_event() etc.  The cpu\nmigration counter does this because there isn\u0027t necessarily a\npt_regs struct for the task available.  In this case, the\ncounter will not have interrupt capability - but the migration\ncounter didn\u0027t have interrupt capability before, so this is no\nloss.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.35006.819769.416327@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f38b082081bf69a06fffb8b32a175999e2320c5b",
      "tree": "08a26857c77b11a97871b3e1e06ec588033f7cf3",
      "parents": [
        "10a2825514a988225ac2e336c7a9502c4ca57c39"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Jun 02 21:05:16 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 13:10:54 2009 +0200"
      },
      "message": "perf_counter: Initialize per-cpu context earlier on cpu up\n\nThis arranges for perf_counter\u0027s notifier for cpu hotplug\noperations to be called earlier than the migration notifier in\nsched.c by increasing its priority to 20, compared to the 10\nfor the migration notifier.  The reason for doing this is that\na subsequent commit to convert the cpu migration counter to use\nthe generic swcounter infrastructure will add a call into the\nperf_counter subsystem when tasks get migrated.  Therefore the\nperf_counter subsystem needs a chance to initialize its per-cpu\ndata for the new cpu before it can get called from the\nmigration code.\n\nThis also adds a comment to the migration notifier noting that\nits priority needs to be lower than that of the perf_counter\nnotifier.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18981.1900.792795.836858@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a4f650d686eeaac3629dae1c4294381485efdf",
      "tree": "964ba53aa2a26f12cf5ea7b70e5772abeeb24d95",
      "parents": [
        "880ca15adf2392770a68047e7a98e076ff4d21da"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:13:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 19:55:32 2009 +0200"
      },
      "message": "perf_counter: Tidy up style details\n\n - whitespace fixlets\n - make local variable definitions more consistent\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "880ca15adf2392770a68047e7a98e076ff4d21da",
      "tree": "a1707991a13651bcefb5d92a2ddee9b3470552d9",
      "parents": [
        "25346b93ca079080c9cb23331db5c4f6404e8530"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:49:14 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:04:06 2009 +0200"
      },
      "message": "perf_counter: Allow software counters to count while task is not running\n\nThis changes perf_swcounter_match() so that per-task software\ncounters can count events that occur while their associated\ntask is not running.  This will allow us to use the generic\nsoftware counter code for counting task migrations, which can\noccur while the task is not scheduled in.\n\nTo do this, we have to distinguish between the situations where\nthe counter is inactive because its task has been scheduled\nout, and those where the counter is inactive because it is part\nof a group that was not able to go on the PMU.  In the former\ncase we want the counter to count, but not in the latter case.\nIf the context is active, we have the latter case.  If the\ncontext is inactive then we need to know whether the counter\nwas counting when the context was last active, which we can\ndetermine by comparing its -\u003etstamp_stopped timestamp with the\ncontext\u0027s timestamp.\n\nThis also folds three checks in perf_swcounter_match, checking\nperf_event_raw(), perf_event_type() and perf_event_id()\nindividually, into a single 64-bit comparison on\ncounter-\u003ehw_event.config, as an optimization.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.34810.259718.955621@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "25346b93ca079080c9cb23331db5c4f6404e8530",
      "tree": "a444ca96e0c7e32d6c573e680d9365a808f48bfb",
      "parents": [
        "23db9f430be9325a861c7762c1ffadad9ca528a8"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 01 17:48:12 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 01 10:04:05 2009 +0200"
      },
      "message": "perf_counter: Provide functions for locking and pinning the context for a task\n\nThis abstracts out the code for locking the context associated\nwith a task.  Because the context might get transferred from\none task to another concurrently, we have to check after\nlocking the context that it is still the right context for the\ntask and retry if not.  This was open-coded in\nfind_get_context() and perf_counter_init_task().\n\nThis adds a further function for pinning the context for a\ntask, i.e. marking it so it can\u0027t be transferred to another\ntask.  This adds a \u0027pin_count\u0027 field to struct\nperf_counter_context to indicate that a context is pinned,\ninstead of the previous method of setting the parent_gen count\nto all 1s.  Pinning the context with a pin_count is easier to\nundo and doesn\u0027t require saving the parent_gen value.  This\nalso adds a perf_unpin_context() to undo the effect of\nperf_pin_task_context() and changes perf_counter_init_task to\nuse it.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18979.34748.755674.596386@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bbbee90829304d156c12b171c0ac7e6e1aba8b90",
      "tree": "ec0a1a8c69a5c909a57227915734d1e55678eb5c",
      "parents": [
        "665c2142a94202881a3c11cbaee6506cb10ada2d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 29 14:25:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 16:21:52 2009 +0200"
      },
      "message": "perf_counter: Ammend cleanup in fork() fail\n\nWhen fork() fails we cannot use perf_counter_exit_task() since that\nassumes to operate on current. Write a new helper that cleans up\nunused/clean contexts.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "665c2142a94202881a3c11cbaee6506cb10ada2d",
      "tree": "14a518bf3afe81e7300a822e9b6f55980ff89d46",
      "parents": [
        "efb3d17240d80e27508d238809168120fe4b93a4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 29 14:51:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 16:21:51 2009 +0200"
      },
      "message": "perf_counter: Clean up task_ctx vs interrupts\n\nRemove the local_irq_save() etc.. in routines that are smp function\ncalls, or have IRQs disabled by other means.\n\nThen change the COMM, MMAP, and swcounter context iteration to\ncurrent-\u003eperf_counter_ctxp and RCU, since it really doesn\u0027t matter\nwhich context they iterate, they\u0027re all folded.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efb3d17240d80e27508d238809168120fe4b93a4",
      "tree": "09c079a4ee4bfa531735b70691b8ab4d06d34e9b",
      "parents": [
        "012b84dae17126d8b5d159173091eb3db5a2bc43"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 29 14:25:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 16:21:51 2009 +0200"
      },
      "message": "perf_counter: Fix COMM and MMAP events for cpu wide counters\n\nCommit a63eaf34ae6 (\"perf_counter: Dynamically allocate tasks\u0027\nperf_counter_context struct\") broke COMM and MMAP notification for\ncpu wide counters by dropping out early if there was no task context,\nthereby also not iterating the cpu context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "012b84dae17126d8b5d159173091eb3db5a2bc43",
      "tree": "0b5f85b66084c3186a8e4c56d9ed074d3b2593ee",
      "parents": [
        "3f4dee227348daac32f36daad9a91059efd0723e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 17 11:08:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 14:28:37 2009 +0200"
      },
      "message": "perf_counter: Robustify counter-free logic\n\nThis fixes a nasty crash and highlights a bug that we were\nfreeing failed-fork() counters incorrectly.\n\n(the fix for that will come separately)\n\n[ Impact: fix crashes/lockups with inherited counters ]\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f4dee227348daac32f36daad9a91059efd0723e",
      "tree": "9aa0311f0c4f961a2c2cab1d2fbb0994cff1b6d9",
      "parents": [
        "ad3a37de81c45f6c20d410ece86004b98f7b6d84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 11:25:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 14:28:36 2009 +0200"
      },
      "message": "perf_counter: Fix cpuctx-\u003etask_ctx races\n\nPeter noticed that we are sometimes reading cpuctx-\u003etask_ctx with\ninterrupts enabled.\n\nNoticed-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad3a37de81c45f6c20d410ece86004b98f7b6d84",
      "tree": "6748194aa66d1648232dc9767cba44615d2e14fd",
      "parents": [
        "be1ac0d81d0e3ab655f8c8ade31fb860ef6aa186"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri May 29 16:06:20 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 11:02:46 2009 +0200"
      },
      "message": "perf_counter: Don\u0027t swap contexts containing locked mutex\n\nPeter Zijlstra pointed out that under some circumstances, we can take\nthe mutex in a context or a counter and then swap that context or\ncounter to another task, potentially leading to lock order inversions\nor the mutexes not protecting what they are supposed to protect.\n\nThis fixes the problem by making sure that we never take a mutex in a\ncontext or counter which could get swapped to another task.  Most of\nthe cases where we take a mutex is on a top-level counter or context,\ni.e. a counter which has an fd associated with it or a context that\ncontains such a counter.  This adds WARN_ON_ONCE statements to verify\nthat.\n\nThe two cases where we need to take the mutex on a context that is a\nclone of another are in perf_counter_exit_task and\nperf_counter_init_task.  The perf_counter_exit_task case is solved by\nuncloning the context before starting to remove the counters from it.\nThe perf_counter_init_task is a little trickier; we temporarily\ndisable context swapping for the parent (forking) task by setting its\nctx-\u003eparent_gen to the all-1s value after locking the context, if it\nis a cloned context, and restore the ctx-\u003eparent_gen value at the end\nif the context didn\u0027t get uncloned in the meantime.\n\nThis also moves the increment of the context generation count to be\nwithin the same critical section, protected by the context mutex, that\nadds the new counter to the context.  That way, taking the mutex is\nsufficient to ensure that both the counter list and the generation\ncount are stable.\n\n[ Impact: fix hangs, races with inherited and PID counters ]\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c18975.31580.520676.619896@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c93f7669098eb97c5376e5396e3dfb734c17df4f",
      "tree": "0c17f812277320fcefd4f441e1db7a7f862752a5",
      "parents": [
        "63299f057fbce47da895e8865cba7e9c3eb01a20"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Thu May 28 22:18:17 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 28 15:03:50 2009 +0200"
      },
      "message": "perf_counter: Fix race in attaching counters to tasks and exiting\n\nCommit 564c2b21 (\"perf_counter: Optimize context switch between\nidentical inherited contexts\") introduced a race where it is possible\nthat a counter being attached to a task could get attached to the\nwrong task, if the task is one that has inherited its context from\nanother task via fork.  This happens because the optimized context\nswitch could switch the context to another task after find_get_context\nhas read task-\u003eperf_counter_ctxp.  In fact, it\u0027s possible that the\ncontext could then get freed, if the other task then exits.\n\nThis fixes the problem by protecting both the context switch and the\ncritical code in find_get_context with spinlocks.  The context switch\nlocks the cxt-\u003elock of both the outgoing and incoming contexts before\nswapping them.  That means that once code such as find_get_context\nhas obtained the spinlock for the context associated with a task,\nthe context can\u0027t get swapped to another task.  However, the context\nmay have been swapped in the interval between reading\ntask-\u003eperf_counter_ctxp and getting the lock, so it is necessary to\ncheck and retry.\n\nTo make sure that none of the contexts being looked at in\nfind_get_context can get freed, this changes the context freeing code\nto use RCU.  Thus an rcu_read_lock() is sufficient to ensure that no\ncontexts can get freed.  This part of the patch is lifted from a patch\nposted by Peter Zijlstra.\n\nThis also adds a check to make sure that we can\u0027t add a counter to a\ntask that is exiting.\n\nThere is also a race between perf_counter_exit_task and\nfind_get_context; this solves the race by moving the get_ctx that\nwas in perf_counter_alloc into the locked region in find_get_context,\nso that once find_get_context has got the context for a task, it\nwon\u0027t get freed even if the task calls perf_counter_exit_task.  It\ndoesn\u0027t matter if new top-level (non-inherited) counters get attached\nto the context after perf_counter_exit_task has detached the context\nfrom the task.  They will just stay there and never get scheduled in\nuntil the counters\u0027 fds get closed, and then perf_release will remove\nthem from the context and eventually free the context.\n\nWith this, we are now doing the unclone in find_get_context rather\nthan when a counter was added to or removed from a context (actually,\nwe were missing the unclone_ctx() call when adding a counter to a\ncontext).  We don\u0027t need to unclone when removing a counter from a\ncontext because we have no way to remove a counter from a cloned\ncontext.\n\nThis also takes out the smp_wmb() in find_get_context, which Peter\nZijlstra pointed out was unnecessary because the cmpxchg implies a\nfull barrier anyway.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c18974.33033.667187.273886@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "329d876d6fd326109f191ae0fb2798b8834fb70b",
      "tree": "9e8a071a9c89be06a3b6dd526ec42f08eca16ae3",
      "parents": [
        "aaba98018b8295dfa2119345d17f833d74448cd0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 08:10:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 09:54:13 2009 +0200"
      },
      "message": "perf_counter: Initialize -\u003eoncpu properly\n\nThis shouldnt matter normally (and i have not seen any\nmisbehavior), because active counters always have a\nproper -\u003eoncpu value - but nevertheless initialize the\nfield properly to -1.\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0127c3ea082ee9f1034789b978dfc7fd83254617",
      "tree": "d3d9f8bc4544359f2aa6f65b4881ffa625c93742",
      "parents": [
        "53b441a565bf4036ab49c8ea04c5ad06ace7dd6b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 22:03:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 22:02:23 2009 +0200"
      },
      "message": "perf_counter: fix warning \u0026 lockup\n\n - remove bogus warning\n - fix wakeup from NMI path lockup\n - also fix up whitespace noise in perf_counter.h\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525153931.703093461@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a78ac3258782f3e64cb40beb5990808e1febcc0c",
      "tree": "692462a974e4c26bdb7fa7fae727a6b326a0eeee",
      "parents": [
        "48e22d56ecdeddd1ffb42a02fccba5c6ef42b133"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 17:39:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 21:41:12 2009 +0200"
      },
      "message": "perf_counter: Generic per counter interrupt throttle\n\nIntroduce a generic per counter interrupt throttle.\n\nThis uses the perf_counter_overflow() quick disable to throttle a specific\ncounter when its going too fast when a pmu-\u003eunthrottle() method is provided\nwhich can undo the quick disable.\n\nPower needs to implement both the quick disable and the unthrottle method.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525153931.703093461@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10989fb2451763fae6f42d85fa6106c8fd010cf5",
      "tree": "34c1b66501633ac3c0c287f72611eccc90ee1bc2",
      "parents": [
        "6ab423e0eaca827fbd201ca4ae7d4f8573a366b2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 14:45:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:55:01 2009 +0200"
      },
      "message": "perf_counter: Fix PERF_COUNTER_CONTEXT_SWITCHES for cpu counters\n\nIngo noticed that cpu counters had 0 context switches, even though\nthere was plenty scheduling on the cpu.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525124600.419025548@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ab423e0eaca827fbd201ca4ae7d4f8573a366b2",
      "tree": "072d227934bf213adf5c0dd022369e14f273dc48",
      "parents": [
        "771d7cde144d87f2d1fbee4da3c6234d61f7e42a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 14:45:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:55:01 2009 +0200"
      },
      "message": "perf_counter: Propagate inheritance failures down the fork() path\n\nFail fork() when we fail inheritance for some reason (-ENOMEM most likely).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525124600.324656474@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "771d7cde144d87f2d1fbee4da3c6234d61f7e42a",
      "tree": "21d15c924924b5f6cb91dd2b103337253b46ed58",
      "parents": [
        "e527ea312f31e88a7fa5472b71db71c565b0d44f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 25 14:45:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:55:00 2009 +0200"
      },
      "message": "perf_counter: Make pctrl() affect inherited counters too\n\nPaul noted that the new ptcrl() didn\u0027t work on child counters.\n\nReported-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090525124600.203151469@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a3862d3f814ce7dfca9eed56ac23d29db3aee8d5",
      "tree": "5cbc8c2cb9b11acb5bc21009d27da3978c1c0db2",
      "parents": [
        "c2990a2a582d73562d4dcf2502c39892a19a691d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 09:02:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 09:02:37 2009 +0200"
      },
      "message": "perf_counter: Increase mmap limit\n\nIn a default \u0027perf top\u0027 run the tool will create a counter for\neach online CPU. With enough CPUs this will eventually exhaust\nthe default limit.\n\nSo scale it up with the number of online CPUs.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "475c55797323b67435083f6e2eb8ee670f6410ec",
      "tree": "2aad9762396b01ccf92581489e70bd3689246f19",
      "parents": [
        "082ff5a2767a0679ee543f14883adbafb631ffbe"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:29:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 08:24:30 2009 +0200"
      },
      "message": "perf_counter: Remove perf_counter_context::nr_enabled\n\nnow that pctrl() no longer disables other people\u0027s counters,\nremove the PMU cache code that deals with that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163013.032998331@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "082ff5a2767a0679ee543f14883adbafb631ffbe",
      "tree": "5ddf792ed3f80b17bc427edea1dc1d4b4303b4f6",
      "parents": [
        "aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:29:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 24 08:24:08 2009 +0200"
      },
      "message": "perf_counter: Change pctrl() behaviour\n\nInstead of en/dis-abling all counters acting on a particular\ntask, en/dis- able all counters we created.\n\n[ v2: fix crash on first counter enable ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.916937244@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469",
      "tree": "7f2d3face393454dc58a6e811bb294714db948a6",
      "parents": [
        "1a482f38c5aafeb3576079a38a5b21b46619f3d2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:47 2009 +0200"
      },
      "message": "perf_counter: Simplify context cleanup\n\nUse perf_counter_remove_from_context() to remove counters from\nthe context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.796275849@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "682076ae1de0aba9c2da509f7b19dc03e30a6e1f",
      "tree": "63e48b23f8ef4e16b79c9b767def13e7795eb440",
      "parents": [
        "fccc714b3148ab9741fafc1e90c3876d50df6093"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:46 2009 +0200"
      },
      "message": "perf_counter: Sanitize context locking\n\nEnsure we\u0027re consistent with the context locks.\n\n context-\u003emutex\n   context-\u003elock\n     list_{add,del}_counter();\n\nso that either lock is sufficient to stabilize the context.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.618790733@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fccc714b3148ab9741fafc1e90c3876d50df6093",
      "tree": "e536e75faf15f4db8ec653e7303ad9f41cc5c186",
      "parents": [
        "e220d2dcb944c5c488b6855d15ec66d76900514f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:56 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:45 2009 +0200"
      },
      "message": "perf_counter: Sanitize counter-\u003emutex\n\ns/counter-\u003emutex/counter-\u003echild_mutex/ and make sure its only\nused to protect child_list.\n\nThe usage in __perf_counter_exit_task() doesn\u0027t appear to be\nproblematic since ctx-\u003emutex also covers anything related to fd\ntear-down.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.533186528@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "e220d2dcb944c5c488b6855d15ec66d76900514f"
}
