)]}'
{
  "log": [
    {
      "commit": "c3305257cd4df63e03e21e331a0140ae9c0faccc",
      "tree": "d5b9609bf96f004a9efe0aca326983489718751e",
      "parents": [
        "2cba3ffb9a9db3874304a1739002d053d53c738b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 14:01:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 14:30:50 2011 +0200"
      },
      "message": "perf stat: Add more cache-miss percentage printouts\n\nPrint out the cache-miss percentage as well if the cache refs were\ncollected, for all the generic cache event types.\n\nBefore:\n\n   11,103,723,230 dTLB-loads                #  622.471 M/sec                    ( +-  0.30% )\n       87,065,337 dTLB-load-misses          #    4.881 M/sec                    ( +-  0.90% )\n\nAfter:\n\n   11,353,713,242 dTLB-loads                #  626.020 M/sec                    ( +-  0.35% )\n      113,393,472 dTLB-load-misses          #    1.00% of all dTLB cache hits   ( +-  0.49% )\n\nAlso ASCII color highlight too high percentages, them when it\u0027s executed on the console.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/n/tip-lkhwxsevdbd9a8nymx0vxc3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2cba3ffb9a9db3874304a1739002d053d53c738b",
      "tree": "a81c614ea1be6db95c2d0d1a1e57287a631e9c6b",
      "parents": [
        "b313207286a78abac19f1dd2721292eae598b0f5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 13:30:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 19 14:29:51 2011 +0200"
      },
      "message": "perf stat: Add -d -d and -d -d -d options to show more CPU events\n\nPrint even more detailed statistics if requested via perf stat -d:\n\n       -d:          detailed events, L1 and LLC data cache\n    -d -d:     more detailed events, dTLB and iTLB events\n -d -d -d:     very detailed events, adding prefetch events\n\nFull output looks like this now:\n\n Performance counter stats for \u0027/home/mingo/hackbench 10\u0027 (5 runs):\n\n       1703.674707 task-clock                #    8.709 CPUs utilized            ( +-  4.19% )\n            49,068 context-switches          #    0.029 M/sec                    ( +- 16.66% )\n             8,303 CPU-migrations            #    0.005 M/sec                    ( +- 24.90% )\n            17,397 page-faults               #    0.010 M/sec                    ( +-  0.46% )\n     2,345,389,239 cycles                    #    1.377 GHz                      ( +-  4.61% ) [55.90%]\n     1,884,503,527 stalled-cycles-frontend   #   80.35% frontend cycles idle     ( +-  5.67% ) [50.39%]\n       743,919,737 stalled-cycles-backend    #   31.72% backend  cycles idle     ( +-  8.75% ) [49.91%]\n     1,314,416,379 instructions              #    0.56  insns per cycle\n                                             #    1.43  stalled cycles per insn  ( +-  2.53% ) [60.87%]\n       272,592,567 branches                  #  160.003 M/sec                    ( +-  1.74% ) [56.56%]\n         3,794,846 branch-misses             #    1.39% of all branches          ( +-  6.59% ) [58.50%]\n       449,982,778 L1-dcache-loads           #  264.125 M/sec                    ( +-  2.47% ) [49.88%]\n        22,404,961 L1-dcache-load-misses     #    4.98% of all L1-dcache hits    ( +-  6.08% ) [55.05%]\n         6,204,750 LLC-loads                 #    3.642 M/sec                    ( +-  8.91% ) [43.75%]\n         1,837,411 LLC-load-misses           #    1.078 M/sec                    ( +-  7.27% ) [12.07%]\n       411,440,421 L1-icache-loads           #  241.502 M/sec                    ( +-  5.60% ) [36.52%]\n        27,556,832 L1-icache-load-misses     #   16.175 M/sec                    ( +-  7.46% ) [46.72%]\n       464,067,627 dTLB-loads                #  272.392 M/sec                    ( +-  4.46% ) [54.17%]\n        10,765,648 dTLB-load-misses          #    6.319 M/sec                    ( +-  3.18% ) [48.68%]\n     1,273,080,386 iTLB-loads                #  747.256 M/sec                    ( +-  3.38% ) [47.53%]\n           117,481 iTLB-load-misses          #    0.069 M/sec                    ( +- 14.99% ) [47.01%]\n         4,590,653 L1-dcache-prefetches      #    2.695 M/sec                    ( +-  4.49% ) [46.19%]\n         1,712,660 L1-dcache-prefetch-misses #    1.005 M/sec                    ( +-  3.75% ) [44.82%]\n\n        0.195622057  seconds time elapsed  ( +-  6.84% )\n\nAlso clean up the attribute construction code to be appending, and factor\nit out into add_default_attributes().\n\nTweak the coverage percentage printout a bit, so that it\u0027s easier to view it\nalongside the +- sttddev colum.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/n/tip-to3kgu04449s64062val8b62@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c63ca0c01d73563d4e2ab174bb3dd1e5efb907e6",
      "tree": "c00105af90d900c5eacacb43bbb499229043d0f9",
      "parents": [
        "947b4ad1d198b7303ecc961f4939a331be0c48f0"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@gmail.com",
        "time": "Fri Apr 29 16:04:15 2011 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 30 00:18:14 2011 +0200"
      },
      "message": "perf stat: Tell user about unsupported events in the list\n\nSimilar to perf-record, tell user about unsupported events\nthat will not be counted if invoked in verbose mode.\n\ne.g.,\n\n $ perf stat -e dTLB-prefetch-misses -v -- sleep 1\n dTLB-prefetch-misses event is not supported by the kernel.\n dTLB-prefetch-misses: 0 0 0\n\n Performance counter stats for \u0027sleep 1\u0027:\n\n     \u003cnot counted\u003e dTLB-prefetch-misses\n\n        1.001884783  seconds time elapsed\n\nSigned-off-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1304114655-10600-1-git-send-email-dsahern@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "370faf1dd0461ad811852c8abbbcd3d73b1e4fc4",
      "tree": "6933cc889ea07a0dc0841d9af90304a39cf09ec0",
      "parents": [
        "fce3c786d3a49eff397583b4b62fa38df90db937"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 16:11:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 16:22:33 2011 +0200"
      },
      "message": "perf stat: Fail softly on unsupported events\n\nDavid Ahern reported this perf stat failure:\n\n\u003e # /tmp/build-perf/perf stat -- sleep 1\n\u003e   Error: stalled-cycles-frontend event is not supported.\n\u003e   Fatal: Not all events could be opened.\n\u003e\n\u003e This is a Dell R410 with an E5620 processor.\n\nFail in a softer fashion on unknown/unsupported events.\n\nReported-by: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n006io7hjpn1dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fce3c786d3a49eff397583b4b62fa38df90db937",
      "tree": "ed452f0040d4b69cbb83a0c4fb80c83cc44d1ae6",
      "parents": [
        "2b427e14b77dbf3e05f1bd0785f1d07ea5fe924e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 30 09:03:15 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 16:06:09 2011 +0200"
      },
      "message": "perf stat: Leave more room for percentages\n\nTriple digit percentages do not fit otherwise.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n005io7hjpn1dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b427e14b77dbf3e05f1bd0785f1d07ea5fe924e",
      "tree": "207749426e797f00553e15c339965c45398d61e0",
      "parents": [
        "d3d1e86da07b4565815e3dbcd082f53017d215f8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 14:16:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 14:35:57 2011 +0200"
      },
      "message": "perf stat: Adjust stall cycles warning percentages\n\nAdjust to color thresholds to better match the percentages seen in\nreal workloads. Both are now a bit more sensitive.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n004io7hjpn1dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3d1e86da07b4565815e3dbcd082f53017d215f8",
      "tree": "c2fad06e57607b32d943d6b590325ae5d8ef3d01",
      "parents": [
        "129c04cb8ce2e4bf3f17223f58ef16aa8a2cb3b8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 13:49:08 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 14:35:55 2011 +0200"
      },
      "message": "perf stat: Analyze front-end and back-end stall counts\n\nSample output:\n\n Performance counter stats for \u0027./loop_1b\u0027:\n\n        873.691065 task-clock               #    1.000 CPUs utilized\n                 1 context-switches         #    0.000 M/sec\n                 1 CPU-migrations           #    0.000 M/sec\n                96 page-faults              #    0.000 M/sec\n     2,012,637,222 cycles                   #    2.304 GHz                      (66.58%)\n     1,001,397,911 stalled-cycles-frontend  #   49.76% frontend cycles idle     (66.58%)\n         7,523,398 stalled-cycles-backend   #    0.37%  backend cycles idle     (66.76%)\n     2,004,551,046 instructions             #    1.00  insns per cycle\n                                            #    0.50  stalled cycles per insn  (66.80%)\n     1,001,304,992 branches                 # 1146.063 M/sec                    (66.76%)\n            39,453 branch-misses            #    0.00% of all branches          (66.64%)\n\n        0.874046121  seconds time elapsed\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n003io7hjpn1dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "129c04cb8ce2e4bf3f17223f58ef16aa8a2cb3b8",
      "tree": "dd6bacbcefee60d18e0f962df5650d2b48febcf8",
      "parents": [
        "91fc4cc00099986bc1ba50e1f421c3548cffae42"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 14:41:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 29 14:35:49 2011 +0200"
      },
      "message": "perf tools: Add front-end and back-end stalled cycles support\n\nUpdate perf tooling to deal with front-end and back-end stalled cycles events.\n\nAdd both the default \u0027perf stat\u0027 output.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n002io7hjpn1dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ede70290046043b2638204cab55e26ea1d0c6cd9",
      "tree": "b5de51125db7477b18776614923edea00a20fc31",
      "parents": [
        "f9cef0a90c4e7637f1ec98474a1a099aec45eb65"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 28 08:48:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 28 08:48:42 2011 +0200"
      },
      "message": "perf stat: Fix compatibility behavior\n\nInstead of failing on an unknown event, when new perf stat is run on\nolder kernels:\n\n  $ ./perf stat true\n  Error: open_counter returned with 22 (Invalid argument). /bin/dmesg\n  may provide additional information.\n\n  Fatal: Not all events could be opened.\n\nJust ignore EINVAL and ENOSYS, we\u0027ll print the results as not counted:\n\n Performance counter stats for \u0027true\u0027:\n\n          0.239483 task-clock               #    0.493 CPUs utilized\n                 0 context-switches         #    0.000 M/sec\n                 0 CPU-migrations           #    0.000 M/sec\n                86 page-faults              #    0.359 M/sec\n           704,766 cycles                   #    2.943 GHz\n     \u003cnot counted\u003e stalled-cycles\n           381,961 instructions             #    0.54  insns per cycle\n            69,626 branches                 #  290.735 M/sec\n             4,594 branch-misses            #    6.60% of all branches\n\n        0.000485883  seconds time elapsed\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n1eqio5hjpn3dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9cef0a90c4e7637f1ec98474a1a099aec45eb65",
      "tree": "6a7b6bd456a274070f83d75fa1e7f97d90f32e8e",
      "parents": [
        "8a850cadca0e387c87a0911a61e99fd66aeb57ec"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 28 18:17:11 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 28 08:39:39 2011 +0200"
      },
      "message": "perf stat: Add --sync/-S option\n\n--sync will tell perf stat to run sync() before starting a command.\n\nThis allows IO-heavy tests to be used with --repeat, without one\niteration impacting the other.\n\nElapsed time will stabilize for example:\n\n  before:        3.971525714  seconds time elapsed  ( +-  8.56% )\n  after:         3.211098537  seconds time elapsed  ( +-  1.52% )\n\nSo measurements will be more accurate.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n1eqio7hjpn1dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ceb1c3d1fe15c2f9b55eaa8978019ef0e0a06ac",
      "tree": "89c24419ef9a18d7b523bbdc6c7f9dd57c3e221f",
      "parents": [
        "c6264deff7ea6125492b442edad885e5429679af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 28 02:57:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 17:48:55 2011 +0200"
      },
      "message": "perf stat: Fix printout vertical alignment\n\nBefore:\n\n |\n | Performance counter stats for \u0027/home/mingo/hackbench 20\u0027 (5 runs):\n |\n |        71,321,607 instructions:u           #    0.42  insns per cycle  ( +-  0.00% )\n |       168,040,009 cycles:u                 #    0.000 GHz                      ( +-  0.81% )\n |\n |        1.468002368  seconds time elapsed  ( +-  1.33% )\n |\n\nAfter:\n\n |\n | Performance counter stats for \u0027/home/mingo/hackbench 20\u0027 (5 runs):\n |\n |        71,321,607 instructions:u           #    0.42  insns per cycle          ( +-  0.00% )\n |       168,040,009 cycles:u                 #    0.000 GHz                      ( +-  0.81% )\n |\n |        1.468002368  seconds time elapsed  ( +-  1.33% )\n |\n\nThe last column (stddev noise) is properly aligned, vertically.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-7y40wib8n1eqio7hjpn0dsrm@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6264deff7ea6125492b442edad885e5429679af",
      "tree": "8533d8e10cadd0eb31518a514486c561f004115b",
      "parents": [
        "8bb6c79f24e66538f606076915e918242c02ec7c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 13:50:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 21:03:16 2011 +0200"
      },
      "message": "perf stat: Add -d/--detailed flag to run with a lot of events\n\nAdd the new -d/--detailed flag, which generates a pretty detailed event list:\n\n Performance counter stats for \u0027./hackbench 10\u0027 (10 runs):\n\n       1514.287888 task-clock               #   10.897 CPUs utilized            ( +-  3.05% )\n            39,698 context-switches         #    0.026 M/sec                    ( +- 12.19% )\n             8,147 CPU-migrations           #    0.005 M/sec                    ( +- 16.55% )\n            17,918 page-faults              #    0.012 M/sec                    ( +-  0.37% )\n     2,944,504,050 cycles                   #    1.944 GHz                      ( +-  3.89% )  (32.60%)\n     1,043,971,283 stalled-cycles           #   35.45% of all cycles are idle   ( +-  5.22% )  (44.48%)\n     1,655,906,768 instructions             #    0.56  insns per cycle\n                                            #    0.63  stalled cycles per insn  ( +-  1.95% )  (55.09%)\n       338,832,373 branches                 #  223.757 M/sec                    ( +-  1.96% )  (64.47%)\n         3,892,416 branch-misses            #    1.15% of all branches          ( +-  5.49% )  (73.12%)\n       606,410,482 L1-dcache-loads          #  400.459 M/sec                    ( +-  1.29% )  (71.21%)\n        31,204,395 L1-dcache-load-misses    #    5.15% of all L1-dcache hits    ( +-  3.04% )  (60.43%)\n         3,922,751 LLC-loads                #    2.590 M/sec                    ( +-  6.80% )  (46.87%)\n         5,037,288 LLC-load-misses          #    3.327 M/sec                    ( +-  3.56% )  (13.00%)\n\n        0.138966828  seconds time elapsed  ( +-  4.11% )\n\nThis can be used \"at a glance\" for narrower analysis.\n\n-d can also be used in addition to other -e events, to further expand an event list.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-cxs98quixs3qyvdqx3goojc4@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bb6c79f24e66538f606076915e918242c02ec7c",
      "tree": "44196658307709aabd70ee2ab7ee6187e3f5b190",
      "parents": [
        "c78df6c1d49b5d798f1579141e3a12be7c325d1e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 13:25:24 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:32:24 2011 +0200"
      },
      "message": "perf stat: Print out miss/hit ratio for L1 data-cache events\n\nPrint out this kind of l1-dcache-misses percentage:\n\n Performance counter stats for \u0027./bw_tcp localhost\u0027:\n\n    29,956,262,201 cycles                   #    3.002 GHz                      (scaled from 85.14%)\n     8,255,209,558 stalled-cycles           #   27.56% of all cycles are idle   (scaled from 86.56%)\n     1,206,130,308 l1-dcache-misses         #   40.49% of all L1-dcache hits    (scaled from 86.30%)\n     2,978,756,779 l1-dcache-refs           #  298.512 M/sec                    (scaled from 70.02%)\n     8,861,956,159 instructions             #    0.30  insns per cycle\n                                            #    0.93  stalled cycles per insn  (scaled from 84.27%)\n     1,644,306,068 branches                 #  164.782 M/sec                    (scaled from 86.43%)\n        74,778,443 branch-misses            #    4.55% of all branches          (scaled from 70.69%)\n       9978.695711 task-clock               #    0.693 CPUs utilized\n\n       14.404347983  seconds time elapsed\n\nAnd color the result depending on the severity of cache-trashing.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-54gmz0zymaid84zcs7joq02p@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c78df6c1d49b5d798f1579141e3a12be7c325d1e",
      "tree": "355d14ae8b178d93a95012c13a930ea41384dd1d",
      "parents": [
        "a5d243d04a150acbfa79d641154f49e5d920f64f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 12:16:10 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:58 2011 +0200"
      },
      "message": "perf stat: Print branch misses warning colors\n\nPrint the missed-branches percentage with different warning level ASCII colors,\nas the percentage passes the 5%/10%/20% thresholds.\n\nThese thresholds are set to relatively low levels, because on most CPUs even a\nmoderate percentage of branch-misses already shows up as a slowdown.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-ybqukg7p86leiup7gl03ecgk@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5d243d04a150acbfa79d641154f49e5d920f64f",
      "tree": "af1dc9b3a6b59c8aa5fd383f9bd2663e20975bb6",
      "parents": [
        "f99844cb76b7d347711c22cdcb94266b7214141f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 05:39:24 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:58 2011 +0200"
      },
      "message": "perf stat: Print stalled cycles warning colors\n\nPrint the stalled-cycles percentage with different warning level ASCII colors,\nas the percentage passes the 25%/50%/75% thresholds.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-e25zz44rcms7mu9az4fu5zp0@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f99844cb76b7d347711c22cdcb94266b7214141f",
      "tree": "37d8147d32f9e76269952f142180566e937c4d71",
      "parents": [
        "1fc570ad89e55dc32dfa4dda1311948b38f26524"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 05:35:39 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:57 2011 +0200"
      },
      "message": "perf stat: Fix -nan% output in perf stat noise printouts\n\nBefore:\n\n                 0 CPU-migrations           #    0.000 M/sec                    ( +-  -nan% )\n\nAfter:\n\n                 0 CPU-migrations           #    0.000 M/sec                    ( +-  0.00% )\n\nAlso factor out the noise printing function.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-z89h2v1bk1mikcbsf7e6v34q@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fc570ad89e55dc32dfa4dda1311948b38f26524",
      "tree": "5e775a1f2627301110bd11246dd68cf727961c94",
      "parents": [
        "481f988a016f7a0327a5537bde4794349fc4625c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 05:20:22 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:57 2011 +0200"
      },
      "message": "perf stat: Add stalled cycles to the default output\n\nThe new default output looks like this:\n\n Performance counter stats for \u0027./loop_1b_instructions\u0027:\n\n        236.010686 task-clock               #    0.996 CPUs utilized\n                 0 context-switches         #    0.000 M/sec\n                 0 CPU-migrations           #    0.000 M/sec\n                99 page-faults              #    0.000 M/sec\n       756,487,646 cycles                   #    3.205 GHz\n       354,938,996 stalled-cycles           #   46.92% of all cycles are idle\n     1,001,403,797 instructions             #    1.32  insns per cycle\n                                            #    0.35  stalled cycles per insn\n       100,279,773 branches                 #  424.895 M/sec\n            12,646 branch-misses            #    0.013 % of all branches\n\n        0.236902540  seconds time elapsed\n\nWe dropped cache-refs and cache-misses and added stalled-cycles - this is a\nmore generic \"how well utilized is the CPU\" metric.\n\nIf the stalled-cycles ratio is too high then more specific measurements can be\ntaken to figure out the source of the inefficiency.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-pbpl2l4mn797s69bclfpwkwn@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "481f988a016f7a0327a5537bde4794349fc4625c",
      "tree": "c7375e288e3f565c9ef178fe27c98d3f63cc13c7",
      "parents": [
        "dcd9936a5a6d89512b5323c1145647f2dbe0236f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 04:34:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:56 2011 +0200"
      },
      "message": "perf stat: Add stalled cycles accounting, prettify the resulting output\n\nAdd stalled cycles accounting and use it to print the \"cycles stalled per\ninstruction\" value.\n\nAlso change the unit of the cycles output from M/sec to GHz - this is more\nintuitive.\n\nPrettify the output to:\n\n Performance counter stats for \u0027./loop_1b_instructions\u0027:\n\n        239.775036 task-clock               #    0.997 CPUs utilized\n       761,903,912 cycles                   #    3.178 GHz\n       356,620,620 stalled-cycles           #   46.81% of all cycles are idle\n     1,001,578,351 instructions             #    1.31  insns per cycle\n                                            #    0.36  stalled cycles per insn\n            14,782 cache-references         #    0.062 M/sec\n             5,694 cache-misses             #   38.520 % of all cache refs\n\n        0.240493656  seconds time elapsed\n\nAlso adjust the --repeat output to make the percentages align vertically:\n\n Performance counter stats for \u0027./loop_1b_instructions\u0027 (10 runs):\n\n        236.096793 task-clock               #    0.997 CPUs utilized             ( +-   0.011% )\n       756,553,086 cycles                   #    3.204 GHz                       ( +-   0.002% )\n       354,942,692 stalled-cycles           #   46.92% of all cycles are idle    ( +-   0.008% )\n     1,001,389,700 instructions             #    1.32  insns per cycle\n                                            #    0.35  stalled cycles per insn   ( +-   0.000% )\n            10,166 cache-references         #    0.043 M/sec                     ( +-   0.742% )\n               468 cache-misses             #    4.608 % of all cache refs       ( +-  13.385% )\n\n        0.236874136  seconds time elapsed   ( +- 0.01% )\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-uapziqny39601apdmmhoz7hk@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dcd9936a5a6d89512b5323c1145647f2dbe0236f",
      "tree": "5ad83bc4f2a61e5ff65d4d0950cee6a36b65696d",
      "parents": [
        "749141d926faf23ef811686a8050e7cf13dc223f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 04:36:37 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:56 2011 +0200"
      },
      "message": "perf stat: Factor our shadow stats\n\nCreate update_shadow_stats() which is then used in both read_counter_aggr()\nand read_counter().\n\nThis not only simplifies the code but also fixes a bug: HW_CACHE_REFERENCES\nwas not updated in read_counter().\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-9uc55z3g88r47exde7zxjm6p@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d58f4c82fed69fdd4a79fa54fe17fd14d98c27aa",
      "tree": "e28ff3e43cb1894826188868f46e69bb427c060d",
      "parents": [
        "11ba2b85f506306c8dfc9fe144aa4ddc43242855"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 03:42:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:54 2011 +0200"
      },
      "message": "perf stat: Print cache misses as percentage\n\nBefore:\n\n       113,393,041 cache-references         #     83.636 M/sec\n         7,052,454 cache-misses             #      5.202 M/sec\n\nAfter:\n\n       112,589,441 cache-references         #     87.925 M/sec\n         6,556,354 cache-misses             #      5.823 %\n\nmisses/hits percentages are more expressive than absolute numbers\nor rates.\n\n(Also prettify the CPUs printout line to not have a trailing whitespace.)\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/n/tip-axm28f43x439bl41zkvfzd63@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11ba2b85f506306c8dfc9fe144aa4ddc43242855",
      "tree": "1fb26d4345b53300b29bb7044c165dd1a8230c73",
      "parents": [
        "5c543e3c442d6382db127152c7096ca6a55283de"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 24 15:05:10 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 20:04:54 2011 +0200"
      },
      "message": "perf stat: Print stalled cycles percentage\n\nPrint:\n\n           611,527 cycles\n           400,553 instructions             # (  0.71 instructions per cycle )\n            77,809 stalled-cycles           # ( 12.71% of all cycles )\n\n        0.000610987  seconds time elapsed\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/n/tip-fd6x8r1cpyb6zhlrc4ix8m45@git.kernel.org\n"
    },
    {
      "commit": "5d2cd90922c778908bd0cd669e572a5b5eafd737",
      "tree": "0467726f17165b6e2461521e9cca4f54c959d6d6",
      "parents": [
        "db9a9cbc8142eed008e242e389938689c6feb1ba"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 14 11:20:14 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 15 12:52:28 2011 -0300"
      },
      "message": "perf evsel: Fix use of inherit\n\nperf stat doesn\u0027t mmap and its perfectly fine for it to use task-bound\ncounters with inheritance.\n\nSo set the attr.inherit on the caller and leave the syscall itself to\nvalidate it.\n\nWhen the mmap fails perf_evlist__mmap will just emit a warning if this\nis the failure reason.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110414170121.GC3229@ghostprotocols.net\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "cfd748ae066e776d45bdce550b47cd00c67d55de",
      "tree": "f19fd744f82bb6ca29005bf63bd0681bd389653d",
      "parents": [
        "171b3be9c42e97cd4530706654242f6a3efb6ac3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 14 16:40:30 2011 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 14 13:37:52 2011 -0300"
      },
      "message": "perf stat: Provide support for filters\n\nNow the --filter option is usable with perf stat too.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003c1300117230-8404-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "023695d96ee06f36cf5014e286edcd623e9fb847",
      "tree": "ff7483b7a1aa0cfd5de95475ed059822d2a35499",
      "parents": [
        "e5d1367f17ba6a6fed5fd8b74e4d5720923e0c25"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Feb 14 11:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:48 2011 +0100"
      },
      "message": "perf tool: Add cgroup support\n\nThis patch adds the ability to filter monitoring based on container groups\n(cgroups) for both perf stat and perf record. It is possible to monitor\nmultiple cgroup in parallel. There is one cgroup per event. The cgroups to\nmonitor are passed via a new -G option followed by a comma separated list of\ncgroup names.\n\nThe cgroup filesystem has to be mounted. Given a cgroup name, the perf tool\nfinds the corresponding directory in the cgroup filesystem and opens it. It\nthen passes that file descriptor to the kernel.\n\nExample:\n\n$ perf stat -B -a -e cycles:u,cycles:u,cycles:u -G test1,,test2 -- sleep 1\n Performance counter stats for \u0027sleep 1\u0027:\n\n      2,368,667,414  cycles                   test1\n      2,369,661,459  cycles\n      \u003cnot counted\u003e  cycles                   test2\n\n        1.001856890  seconds time elapsed\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d590290.825bdf0a.7d0a.4890@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0015e2e101f5fd3256ab8b5a374c0e8806098871",
      "tree": "3c889612ca4ede04a5b13d1cc3499479b60c66a3",
      "parents": [
        "568bb7b8e856b9efb98a3f63259c717adc1b96b8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 01 16:18:10 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 01 16:18:10 2011 -0200"
      },
      "message": "perf stat: Fix up resource release order\n\nThat was causing a SEGV on selected old distros.\n\nProblem introduced in 7e2ed09.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "7e2ed097538c57ff5268e9a6bced7c0b885809c8",
      "tree": "44f9998cc6054d5bef07d6c2979afb0e81ddf13c",
      "parents": [
        "f8a9530939ed87b9a1b1a038b90e355098b679a2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Jan 30 11:59:43 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 31 12:40:52 2011 -0200"
      },
      "message": "perf evlist: Store pointer to the cpu and thread maps\n\nSo that we don\u0027t have to pass it around to the several methods that\nneeds it, simplifying usage.\n\nThere is one case where we don\u0027t have the thread/cpu map in advance,\nwhich is in the parsing routines used by top, stat, record, that we have\nto wait till all options are parsed to know if a cpu or thread list was\npassed to then create those maps.\n\nFor that case consolidate the cpu and thread map creation via\nperf_evlist__create_maps() out of the code in top and record, while also\nproviding a perf_evlist__set_maps() for cases where multiple evlists\nshare maps or for when maps that represent CPU sockets, for instance,\nget crafted out of topology information or subsets of threads in a\nparticular application are to be monitored, providing more granularity\nin specifying which cpus and threads to monitor.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "fd78260b5376173faeb17127bd63b3c99a8e8bfb",
      "tree": "7d3afaca981fee68929c365b39dd302f803e3bda",
      "parents": [
        "17ea1b70a87e28457821318341bead2b45563092"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 18 15:15:24 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 24 10:59:00 2011 -0200"
      },
      "message": "perf threads: Move thread_map to separate file\n\nTo untangle it from struct thread handling, that is tied to symbols, etc.\n\nRight now in the python bindings I\u0027m working on I need just a subset of\nthe util/ files, untangling it allows me to do that.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9d04f1781772e11bd58806391555fc23ebb54377",
      "tree": "9b91c767bed360fcfd2ab6b90794cca784db279f",
      "parents": [
        "f08199d314458610d4ca52f8e86e0a4ec7a7bc54"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 12 00:08:18 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:29 2011 -0200"
      },
      "message": "perf evsel: Allow specifying if the inherit bit should be set\n\nAs this is a per-cpu attribute, we can\u0027t set it up in advance and use it\nfor all the calls.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "f08199d314458610d4ca52f8e86e0a4ec7a7bc54",
      "tree": "80078cf09949aab97d9470f8126dc2b0ecc9656c",
      "parents": [
        "5c581041cf97aa7980b442de81ddea8273d6dcde"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 11 23:42:19 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:28 2011 -0200"
      },
      "message": "perf evsel: Support event groups\n\nThe perf_evsel__open now have an extra boolean argument specifying if\nevent grouping is desired.\n\nThe first file descriptor created on a CPU becomes the group leader.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "361c99a661a78ed22264649440e87fe4fe8da1f2",
      "tree": "a60bc86f132608f2d41c800760b41f6f54f8e7af",
      "parents": [
        "00e99a49f6f3a6b5a84ba8bf8f632c9b974bea7a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 11 20:56:53 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 19:56:28 2011 -0200"
      },
      "message": "perf evsel: Introduce perf_evlist\n\nKilling two more perf wide global variables: nr_counters and evsel_list\nas a list_head.\n\nThere are more operations that will need more fields in perf_evlist,\nlike the pollfd for polling all the fds in a list of evsel instances.\n\nUse option-\u003evalue to pass the evsel_list to parse_{events,filters}.\n\nLKML-Reference: \u003cnew-submission\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9486aa38771661e96fbb51c549b9901b5df609d8",
      "tree": "72cecbff0cb5124c960feeec3a6ac1fff75c649a",
      "parents": [
        "57b84e53171ce672683faf1cab2e660965a6bdaf"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 20:37:02 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 23:41:57 2011 -0200"
      },
      "message": "perf tools: Fix 64 bit integer format strings\n\nUsing %L[uxd] has issues in some architectures, like on ppc64.  Fix it\nby making our 64 bit integers typedefs of stdint.h types and using\nPRI[ux]64 like, for instance, git does.\n\nReported by Denis Kirjanov that provided a patch for one case, I went\nand changed all cases.\n\nReported-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nTested-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nLKML-Reference: \u003c20110120093246.GA8031@hera.kernel.org\u003e\nCc: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Pingtian Han \u003cphan@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "bd3bfe9eda94d3c050830217c1e1c338808de5b2",
      "tree": "d2be87a7e681192994c2434592dac685f5178cc9",
      "parents": [
        "3d03e2ea74103a50c23d6ab1906cf73399c0dafb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 11 12:42:00 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 11 12:51:03 2011 -0200"
      },
      "message": "perf evsel: Fix order of event list deletion\n\nWe need to defer calling perf_evsel_list__delete() till after atexit\nregistered routines, because we need to traverse the events being\nrecorded at that time at least on \u0027perf record\u0027.\n\nThis fixes the problem reported by Thomas Renninger where cmd_record\ncalled by cmd_timechart would not write the tracing data to the perf.data\nfile header because the evsel_list at atexit (control+C on \u0027perf timechart\nrecord\u0027) time would be empty, being already deleted by run_builtin(),\nand thus \u0027perf timechart\u0027 when trying to process such perf.data file would\ndie with:\n\n\"no trace data in the file\"\n\nProblem introduced in 70d544d.\n\nReported-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "5a3446bc648d86a99a895e93d28d7df00bbbfb3c",
      "tree": "bc292838c295c6ce6918e485a0454d9a0f1f51f2",
      "parents": [
        "e462dc553ea5e09d4713e7c35a11ed331dc6f369"
      ],
      "author": {
        "name": "David Ahern",
        "email": "daahern@cisco.com",
        "time": "Sun Jan 09 11:21:12 2011 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 10 11:34:53 2011 -0200"
      },
      "message": "perf stat: better error message for unsupported events\n\nFor unsupported events (e.g., H/W events when running in a VM)\nperf stat currently fails with the error message:\n\n      Error: open_counter returned with 2 (No such file or directory).\n    /bin/dmesg may provide additional information.\n\n      Fatal: Not all events could be opened.\n\ndmesg is of no help and it is not clear as to why it fails to\nopen the counter. This patch changes the error message to\n\n      Error: cache-misses event is not supported.\n      Fatal: Not all events could be opened.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: a.p.zijlstra@chello.nl\nLPU-Reference: \u003c1294597272-17335-1-git-send-email-daahern@cisco.com\u003e\nSigned-off-by: David Ahern \u003cdaahern@cisco.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "23a2f3ab46596d9fd0b0e592d2101bea90970594",
      "tree": "6b3d9e3755a3e71bb0e6b47e62b269e50b6cf37d",
      "parents": [
        "6b01f2c4f6188da50d8fe094e369a9c0390424ab"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Jan 07 11:11:09 2011 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 07 01:44:36 2011 -0200"
      },
      "message": "perf tools: Pass whole attr to event selectors\n\nSince commit 69aad6f1(perf tools: Introduce event selectors), only\nperf_event_attr::type and ::config are passed to event selector, which\nmakes perf tool not work correctly.\n\nFor example, PEBS does not work because perf_event_attr::precise_ip is\nnot passed to the syscall.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1294369869.20563.19.camel@minggr.sh.intel.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "86bd5e8603b00b06189328c6d7034d2dc434d6bb",
      "tree": "7d6c4fa6c55b367d0ab970835fa2fad4634ae8e4",
      "parents": [
        "5c98d466e49267a9221f30958d45cd06f794269a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 23:09:46 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:24:36 2011 -0200"
      },
      "message": "perf evsel: Use {cpu,thread}_map to shorten list of parameters\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "5c98d466e49267a9221f30958d45cd06f794269a",
      "tree": "0085e9391dc68d00b8260d9d36e8b0d1baf66098",
      "parents": [
        "60d567e2d9187379d642f6aba7c8a52b3fd5d261"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 17:53:33 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:24:16 2011 -0200"
      },
      "message": "perf tools: Refactor all_tids to hold nr and the map\n\nSo that later, we can pass the thread_map instance instead of\n(thread_num, thread_map) for things like perf_evsel__open and friends,\njust like was done with cpu_map.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "60d567e2d9187379d642f6aba7c8a52b3fd5d261",
      "tree": "7d6bd6f6805ff68f4fab3c0e08b7139cc5206b7d",
      "parents": [
        "48290609c0d265f5dac0fca6fd4e3c5732542f67"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 17:49:48 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:23:55 2011 -0200"
      },
      "message": "perf tools: Refactor cpumap to hold nr and the map\n\nSo that later, we can pass the cpu_map instance instead of (nr_cpus, cpu_map)\nfor things like perf_evsel__open and friends.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "48290609c0d265f5dac0fca6fd4e3c5732542f67",
      "tree": "7fc8099ae02b78562cca245364cd44197d3ae9a3",
      "parents": [
        "c52b12ed2511e6c031a0295fd903ea72b93701fb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 17:48:12 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:23:27 2011 -0200"
      },
      "message": "perf evsel: Introduce per cpu and per thread open helpers\n\nAbstracting away the loops needed to create the various event fd handlers.\n\nThe users have to pass a confiruged perf-\u003eevsel.attr field, which is already\nusable after perf_evsel__new (constructor) time, using defaults.\n\nComes out of the ad-hoc routines in builtin-stat, that now uses it.\n\nFixed a small silly bug where we were die()ing before killing our\nchildren, dysfunctional family this one 8-)\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c52b12ed2511e6c031a0295fd903ea72b93701fb",
      "tree": "770915627e789401b820a104c1ed23a212e7bd50",
      "parents": [
        "70d544d0576775a2b3923a7e68cb49b0313d80c9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 17:45:52 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jan 04 00:22:55 2011 -0200"
      },
      "message": "perf evsel: Steal the counter reading routines from stat\n\nMaking them hopefully generic enough to be used in \u0027perf test\u0027,\nwell see.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "70d544d0576775a2b3923a7e68cb49b0313d80c9",
      "tree": "c848ffcc5b1146fc35d496472349d2e4795b0ff3",
      "parents": [
        "1e7972cc5c16e06f258b0278d8c9adfb5aa75c68"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 16:51:39 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 16:51:39 2011 -0200"
      },
      "message": "perf evsel: Delete the event selectors at exit\n\nFreeing all the possibly allocated resources, reducing complexity\non each tool exit path.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "daec78a09de3df5fbfbbd167da0304d49d7fcfe5",
      "tree": "6ad4b3450f70e6f8bb99f19a9c6342b18661748d",
      "parents": [
        "69aad6f1ee69546dea8535ab8f3da9f445d57328"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 16:49:44 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 16:49:44 2011 -0200"
      },
      "message": "perf evsel: Adopt MATCH_EVENT macro from \u0027stat\u0027\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "69aad6f1ee69546dea8535ab8f3da9f445d57328",
      "tree": "b328ec140a6a90703a049fcc661d623025d7e81f",
      "parents": [
        "56f4c400349157289b474a3fd49ee96acab0a4d7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 16:39:04 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 03 16:39:04 2011 -0200"
      },
      "message": "perf tools: Introduce event selectors\n\nOut of ad-hoc code and global arrays with hard coded sizes.\n\nThis is the first step on having a library that will be first\nused on regression tests in the \u0027perf test\u0027 tool.\n\n[acme@felicio linux]$ size /tmp/perf.before\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n1273776\t  97384\t5104416\t6475576\t 62cf38\t/tmp/perf.before\n[acme@felicio linux]$ size /tmp/perf.new\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n1275422\t  97416\t1392416\t2765254\t 2a31c6\t/tmp/perf.new\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d7470b6afca85ed4388fff57fc9d89f5a3be02ff",
      "tree": "f170c6e53e53448649c6658ec0208f051b248a1c",
      "parents": [
        "201e0b06efee80ce090579aa165c65c3d0836d95"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Dec 01 18:49:05 2010 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 01 19:47:41 2010 -0200"
      },
      "message": "perf stat: Add csv-style output\n\nThis patch adds an option (-x/--field-separator) to print counts using a\nCSV-style output. The user can pass a custom separator. This makes it very easy\nto import counts directly into your favorite spreadsheet without having to\nwrite scripts.\n\nExample:\n$ perf stat --field-separator\u003d,  -a -- sleep 1\n4009.961740,task-clock-msecs\n13,context-switches\n2,CPU-migrations\n189,page-faults\n9596385684,cycles\n3493659441,instructions\n872897069,branches\n41562,branch-misses\n22424,cache-references\n1289,cache-misses\n\nWorks also in non-aggregated mode:\n\n$ perf stat -x ,  -a -A -- sleep 1\nCPU0,1002.526168,task-clock-msecs\nCPU1,1002.528365,task-clock-msecs\nCPU2,1002.523360,task-clock-msecs\nCPU3,1002.519878,task-clock-msecs\nCPU0,1,context-switches\nCPU1,5,context-switches\nCPU2,5,context-switches\nCPU3,6,context-switches\nCPU0,0,CPU-migrations\nCPU1,1,CPU-migrations\nCPU2,0,CPU-migrations\nCPU3,1,CPU-migrations\nCPU0,2,page-faults\nCPU1,6,page-faults\nCPU2,9,page-faults\nCPU3,174,page-faults\nCPU0,2399439771,cycles\nCPU1,2380369063,cycles\nCPU2,2399142710,cycles\nCPU3,2373161192,cycles\nCPU0,872900618,instructions\nCPU1,873030960,instructions\nCPU2,872714525,instructions\nCPU3,874460580,instructions\nCPU0,221556839,branches\nCPU1,218134342,branches\nCPU2,218161730,branches\nCPU3,218284093,branches\nCPU0,18556,branch-misses\nCPU1,1449,branch-misses\nCPU2,3447,branch-misses\nCPU3,12714,branch-misses\nCPU0,8330,cache-references\nCPU1,313844,cache-references\nCPU2,47993728,cache-references\nCPU3,826481,cache-references\nCPU0,272,cache-misses\nCPU1,5360,cache-misses\nCPU2,1342193,cache-misses\nCPU3,13992,cache-misses\n\nThis second version adds the ability to name a separator and uses\nfield-separator as the long option to be consistent with perf report.\n\nCommiter note: Since we enabled --big-num by default in 201e0b0 and -x can\u0027t be\nused with it, we need to notice if the user explicitely enabled or disabled -B,\nadd code to disable big_num if the user didn\u0027t explicitely set --big_num when\n-x is used.\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederik Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: paulus@samba.org\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nLKML-Reference: \u003c4cf68aa7.0fedd80a.5294.1203@mx.google.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "201e0b06efee80ce090579aa165c65c3d0836d95",
      "tree": "0e9d0697167f6ce53ff78bfb8339fd7c4e483e33",
      "parents": [
        "8c207692fc8fa3ea1a5ff97ad698efb09a81975a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 01 17:53:27 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 01 18:22:50 2010 -0200"
      },
      "message": "perf stat: Use --big-num format by default\n\n[acme@mica linux]$ perf stat ls \u003e /dev/null\n\n Performance counter stats for \u0027ls\u0027:\n\n           1.512532  task-clock-msecs         #      0.801 CPUs\n                  2  context-switches         #      0.001 M/sec\n                  0  CPU-migrations           #      0.000 M/sec\n                241  page-faults              #      0.159 M/sec\n          2,973,331  cycles                   #   1965.797 M/sec\n          1,460,802  instructions             #      0.491 IPC\n            314,642  branches                 #    208.023 M/sec\n             18,475  branch-misses            #      5.872 %\n      \u003cnot counted\u003e  cache-references\n      \u003cnot counted\u003e  cache-misses\n\n        0.001887676  seconds time elapsed\n\nTo get the previous behaviour just use --no-big-num:\n\n[acme@mica linux]$ perf stat --no-big-num ls \u003e /dev/null\n\n Performance counter stats for \u0027ls\u0027:\n\n           1.468014  task-clock-msecs         #      0.795 CPUs\n                  1  context-switches         #      0.001 M/sec\n                  0  CPU-migrations           #      0.000 M/sec\n                241  page-faults              #      0.164 M/sec\n            2900254  cycles                   #   1975.631 M/sec\n            1437991  instructions             #      0.496 IPC\n             310905  branches                 #    211.786 M/sec\n              17912  branch-misses            #      5.761 %\n      \u003cnot counted\u003e  cache-references\n      \u003cnot counted\u003e  cache-misses\n\n        0.001845435  seconds time elapsed\n\n[acme@mica linux]$\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frédéric 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: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d9cf837ef9629ab34167bd6fc0141383ddb8813a",
      "tree": "3da536a15ea586dacb113f50f76e566a96216908",
      "parents": [
        "4aafd3f71a257a3522932944b5204262dfdff147"
      ],
      "author": {
        "name": "Corey Ashford",
        "email": "cjashfor@linux.vnet.ibm.com",
        "time": "Fri Nov 19 17:37:24 2010 -0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Nov 20 13:04:15 2010 -0200"
      },
      "message": "perf stat: Change and clean up sys_perf_event_open error handling\n\nThis patch makes several changes to \"perf stat\":\n\n- \"perf stat\" will no longer go ahead and run the application when one or\nmore of the specified events could not be opened.\n- Use error() and die() instead of pr_err() so that the output is more\nconsistent with \"perf top\" and \"perf record\".\n- Handle permission errors in a more robust way, and in a similar way to\n\"perf record\" and \"perf top\".\n\nIn addition, the sys_perf_event_open() error handling of \"perf top\" and \"perf\nrecord\" is made more consistent and adds the following phrase when an event\ndoesn\u0027t open (with something ther than an access or permission error):\n\n\"/bin/dmesg may provide additional information.\"\n\nThis is added because kernel code doesn\u0027t have a good way of expressing\ndetailed errors to user space, so its only avenue is to use printk\u0027s.  However,\nmany users may not think of looking at dmesg to find out why an event is being\nrejected.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cfweisbec@gmail.com\u003e\nCc: Ian Munsie \u003cianmunsi@au1.ibm.com\u003e\nCc: Michael Ellerman \u003cmichaele@au1.ibm.com\u003e\nLKML-Reference: \u003c1290217044-26293-1-git-send-email-cjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "f5b4a9c3ab53d544a540a6f3a5d17184e374d91a",
      "tree": "26050a7485c92938f3a366857d443cf4779a6a39",
      "parents": [
        "ae51ce9061b1ddc0fde363913c932bee5b9bc5fd"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Nov 16 11:05:01 2010 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Nov 19 16:16:53 2010 -0200"
      },
      "message": "perf stat: Add no-aggregation mode to -a\n\nThis patch adds a new -A option to perf stat. If specified then perf stat does\nnot aggregate counts across all monitored CPUs in system-wide mode, i.e., when\nusing -a. This option is not supported in per-thread mode.\n\nBeing able to get a per-cpu breakdown is useful to detect imbalances between\nCPUs when running a uniform workload than spans all monitored CPUs.\n\nThe second version corrects the missing cpumap[] support, so that it works when\nthe -C option is used.\n\nThe third version fixes a missing cpumap[] in print_counter() and removes a\nstray patch in builtin-trace.c.\n\nExamples on a 4-way system:\n\n# perf stat -a   -e cycles,instructions -- sleep 1\n Performance counter stats for \u0027sleep 1\u0027:\n         9592808135  cycles\n         3490380006  instructions             #      0.364 IPC\n        1.001584632  seconds time elapsed\n\n# perf stat -a -A -e cycles,instructions -- sleep 1\n Performance counter stats for \u0027sleep 1\u0027:\nCPU0            2398163767  cycles\nCPU1            2398180817  cycles\nCPU2            2398217115  cycles\nCPU3            2398247483  cycles\nCPU0             872282046  instructions             #      0.364 IPC\nCPU1             873481776  instructions             #      0.364 IPC\nCPU2             872638127  instructions             #      0.364 IPC\nCPU3             872437789  instructions             #      0.364 IPC\n        1.001556052  seconds time elapsed\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nLKML-Reference: \u003c4ce257b5.1e07e30a.7b6b.3aa9@mx.google.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c45c6ea2e5c57960dc67e00294c2b78e9540c007",
      "tree": "27c56577862cbb95fb8db4b34cfe99878d5dc9a0",
      "parents": [
        "761844b9c68b3c67b085265f92ac0675706cc3b3"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Fri May 28 12:00:01 2010 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jun 05 09:33:01 2010 -0300"
      },
      "message": "perf tools: Add the ability to specify list of cpus to monitor\n\nThis patch adds a -C option to stat, record, top to designate a list of CPUs to\nmonitor. CPUs can be specified as a comma-separated list or ranges, no space\nallowed.\n\nExamples:\n$ perf record -a -C0-1,4-7 sleep 1\n$ perf top -C0-4\n$ perf stat -a -C1,2,3,4 sleep 1\n\nWith perf record in per-thread mode with inherit mode on, samples are collected\nonly when the thread runs on the designated CPUs.\n\nThe -C option does not turn on system-wide mode automatically.\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4bff9496.d345d80a.41fe.7b00@mx.google.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "5af52b51f76d8f8dce0e5b2a33c20b2231c8046d",
      "tree": "ca343ead7bb18f7ad69da2fb4fd4c5e1dcd5d3b1",
      "parents": [
        "a13c3afd9b62b6dace80654964cc4ca7d2db8092"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue May 18 15:00:01 2010 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue May 18 23:03:22 2010 -0300"
      },
      "message": "perf stat: add perf stat -B to pretty print large numbers\n\nIt is hard to read very large numbers so provide an option to perf stat\nto separate thousands using a separator. The patch leverages the locale\nsupport of stdio. You need to set your LC_NUMERIC appropriately, for\ninstance LC_NUMERIC\u003den_US.UTF8. You need to pass -B to activate this\nfeature. This way existing scripts parsing the output do not need to be\nchanged. Here is an example.\n\n$ perf stat noploop 2\nnoploop for 2 seconds\n\n Performance counter stats for \u0027noploop 2\u0027:\n\n        1998.347031  task-clock-msecs         #      0.998 CPUs\n                 61  context-switches         #      0.000 M/sec\n                  0  CPU-migrations           #      0.000 M/sec\n                118  page-faults              #      0.000 M/sec\n      4,138,410,900  cycles                   #   2070.917 M/sec  (scaled from 70.01%)\n      2,062,650,268  instructions             #      0.498 IPC    (scaled from 70.01%)\n      2,057,653,466  branches                 #   1029.678 M/sec  (scaled from 70.01%)\n             40,267  branch-misses            #      0.002 %      (scaled from 30.04%)\n      2,055,961,348  cache-references         #   1028.831 M/sec  (scaled from 30.03%)\n             53,725  cache-misses             #      0.027 M/sec  (scaled from 30.02%)\n\n        2.001393933  seconds time elapsed\n\n$ perf stat -B  noploop 2\nnoploop for 2 seconds\n\n Performance counter stats for \u0027noploop 2\u0027:\n\n        1998.297883  task-clock-msecs         #      0.998 CPUs\n                 59  context-switches         #      0.000 M/sec\n                  0  CPU-migrations           #      0.000 M/sec\n                119  page-faults              #      0.000 M/sec\n      4,131,380,160  cycles                   #   2067.450 M/sec  (scaled from 70.01%)\n      2,059,096,507  instructions             #      0.498 IPC    (scaled from 70.01%)\n      2,054,681,303  branches                 #   1028.216 M/sec  (scaled from 70.01%)\n             25,650  branch-misses            #      0.001 %      (scaled from 30.05%)\n      2,056,283,014  cache-references         #   1029.017 M/sec  (scaled from 30.03%)\n             47,097  cache-misses             #      0.024 M/sec  (scaled from 30.02%)\n\n        2.001391016  seconds time elapsed\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4bf28fe8.914ed80a.01ca.fffff5f5@mx.google.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "2e6cdf996ba43ce0b090ffbf754f83e17362cd69",
      "tree": "bb471a4ae13fa3941612c30c75bead7417084667",
      "parents": [
        "8a0ecfb8b47dc765fdf460913231876bbc95385e"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed May 12 10:40:01 2010 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu May 13 16:39:12 2010 -0300"
      },
      "message": "perf tools: change event inheritance logic in stat and record\n\nBy default, event inheritance across fork and pthread_create was on but the -i\noption of stat and record, which enabled inheritance, led to believe it was off\nby default.\n\nThis patch fixes this logic by inverting the meaning of the -i option.  By\ndefault inheritance is on whether you attach to a process (-p), a thread (-t)\nor start a process. If you pass -i, then you turn off inheritance. Turning off\ninheritance if you don\u0027t need it, helps limit perf resource usage as well.\n\nThe patch also fixes perf stat -t xxxx and perf record -t xxxx which did not\nstart the counters.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c4bea9d2f.d60ce30a.0b5b.08e1@mx.google.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c05556421742eb47f80301767653a4bcb19de9de",
      "tree": "1e9c441a457acee41d2585e05692cc90c1d88be2",
      "parents": [
        "53e5b5c215ce8372250e227f2c9acf9892de8434"
      ],
      "author": {
        "name": "Ian Munsie",
        "email": "imunsie@au.ibm.com",
        "time": "Tue Apr 13 18:37:33 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 11:26:44 2010 +0200"
      },
      "message": "perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR()\n\nParsing an option from the command line with OPT_BOOLEAN on a\nbool data type would not work on a big-endian machine due to the\nmanner in which the boolean was being cast into an int and\nincremented. For example, running \u0027perf probe --list\u0027 on a\nPowerPC machine would fail to properly set the list_events bool\nand would therefore print out the usage information and\nterminate.\n\nThis patch makes OPT_BOOLEAN work as expected with a bool\ndatatype. For cases where the original OPT_BOOLEAN was\nintentionally being used to increment an int each time it was\npassed in on the command line, this patch introduces OPT_INCR\nwith the old behaviour of OPT_BOOLEAN (the verbose variable is\ncurrently the only such example of this).\n\nI have reviewed every use of OPT_BOOLEAN to verify that a true\nC99 bool was passed. Where integers were used, I verified that\nthey were only being used for boolean logic and changed them to\nbools to ensure that they would not be mistakenly used as ints.\nThe major exception was the verbose variable which now uses\nOPT_INCR instead of OPT_BOOLEAN.\n\nSigned-off-by: Ian Munsie \u003cimunsie@au.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@kernel.org\u003e # NOTE: wont apply to .3[34].x cleanly, please backport\nCc: Git development list \u003cgit@vger.kernel.org\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nCc: Valdis.Kletnieks@vt.edu\nCc: WANG Cong \u003camwang@redhat.com\u003e\nCc: Thiago Farina \u003ctfransosi@gmail.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1271147857-11604-1-git-send-email-imunsie@au.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "084ab9f862416b2ddb4bb9804884de19bf09774d",
      "tree": "3e6bf779f4e7f75da57a381fab2aa9f60316fb01",
      "parents": [
        "ca721e45b39209415d2288dbac3667b26d9d1def"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 22 13:10:28 2010 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 22 18:47:35 2010 +0100"
      },
      "message": "perf stat: Better report failure to collect system wide stats\n\nBefore:\n\n[acme@doppio linux-2.6-tip]$ perf stat -a sleep 1s\n\n Performance counter stats for \u0027sleep 1s\u0027:\n\n  \u003cnot counted\u003e  task-clock-msecs\n  \u003cnot counted\u003e  context-switches\n  \u003cnot counted\u003e  CPU-migrations\n  \u003cnot counted\u003e  page-faults\n  \u003cnot counted\u003e  cycles\n  \u003cnot counted\u003e  instructions\n  \u003cnot counted\u003e  branches\n  \u003cnot counted\u003e  branch-misses\n  \u003cnot counted\u003e  cache-references\n  \u003cnot counted\u003e  cache-misses\n\n    1.016998463  seconds time elapsed\n\n[acme@doppio linux-2.6-tip]$\n\nNow:\n\n[acme@doppio linux-2.6-tip]$ perf stat -a sleep 1s\nNo permission to collect system-wide stats.\nConsider tweaking /proc/sys/kernel/perf_event_paranoid.\n[acme@doppio linux-2.6-tip]$\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frédéric 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\nLKML-Reference: \u003c1269274229-20442-4-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6d901c23a9c4c7361aa901b5b2dda69703dd5e0",
      "tree": "601fc2cafac552c80b8456c8dd4b9964171552db",
      "parents": [
        "46be604b5ba738d53e5f5314813a4e7092864baf"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Mar 18 11:36:05 2010 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 18 16:21:12 2010 +0100"
      },
      "message": "perf events: Change perf parameter --pid to process-wide collection instead of thread-wide\n\nParameter --pid (or -p) of perf currently means a thread-wide\ncollection. For exmaple, if a process whose id is 8888 has 10\nthreads, \u0027perf top -p 8888\u0027 just collects the main thread\nstatistics. That\u0027s misleading. Users are used to attach a whole\nprocess when debugging a process by gdb. To follow normal usage\nstyle, the patch change --pid to process-wide collection and add\n--tid (-t) to mean a thread-wide collection.\n\nUsage example is:\n\n # perf top -p 8888\n # perf record -p 8888 -f sleep 10\n # perf stat -p 8888 -f sleep 10\n\nAbove commands collect the statistics of all threads of process\n8888.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Sheng Yang \u003csheng@linux.intel.com\u003e\nCc: Joerg Roedel \u003cjoro@8bytes.org\u003e\nCc: Jes Sorensen \u003cJes.Sorensen@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: zhiteng.huang@intel.com\nCc: Zachary Amsden \u003czamsden@redhat.com\u003e\nLKML-Reference: \u003c1268922965-14774-3-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6be2850effd6a8bae11d623c8c52e88d2fbc0e96",
      "tree": "f8a2e34dc16a8e79e87b4c3fbe420c2346343cf1",
      "parents": [
        "d6dc0b4ead6e8720096ecfa3d9e899b47ddbc8ed"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Mar 18 11:36:03 2010 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 18 16:21:11 2010 +0100"
      },
      "message": "perf stat: Enable counters when collecting process-wide or system-wide data\n\nCommand \u0027perf stat\u0027 doesn\u0027t enable counters when collecting an\nexisting (by -p) process or system-wide statistics. Fix the\nissue.\n\nChange the condition of fork/exec subcommand. If there is a\nsubcommand parameter, perf always forks/execs it. The usage\nexample is:\n\n # perf stat -a sleep 10\n\nSo this command could collect statistics for 10 seconds\nprecisely. User still could stop it by CTRL+C. Without the new\ncapability, user could only use CTRL+C to stop it without\nprecise time clock.\n\nAnother issue is \u0027perf stat -a\u0027 consumes 100% time of a full\nsingle logical cpu. It has a bad impact on running workload.\n\nFix it by adding a sleep(1) in the while(!done) loop in function\nrun_perf_stat.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Sheng Yang \u003csheng@linux.intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Joerg Roedel \u003cjoro@8bytes.org\u003e\nCc: Jes Sorensen \u003cJes.Sorensen@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: Zachary Amsden \u003czamsden@redhat.com\u003e\nCc: \u003czhiteng.huang@intel.com\u003e\nLKML-Reference: \u003c1268922965-14774-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a12b51c478899fe0b7e874a559b05ba35f1128ee",
      "tree": "25b9911c1932c13fd8b468aa18eb17982ba31b59",
      "parents": [
        "220b140b52ab6cc133f674a7ffec8fa792054f25"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 10 20:36:09 2010 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 13:36:53 2010 +0100"
      },
      "message": "perf tools: Fix sparse CPU numbering related bugs\n\nAt present, the perf subcommands that do system-wide monitoring\n(perf stat, perf record and perf top) don\u0027t work properly unless\nthe online cpus are numbered 0, 1, ..., N-1.  These tools ask\nfor the number of online cpus with sysconf(_SC_NPROCESSORS_ONLN)\nand then try to create events for cpus 0, 1, ..., N-1.\n\nThis creates problems for systems where the online cpus are\nnumbered sparsely.  For example, a POWER6 system in\nsingle-threaded mode (i.e. only running 1 hardware thread per\ncore) will have only even-numbered cpus online.\n\nThis fixes the problem by reading the /sys/devices/system/cpu/online\nfile to find out which cpus are online.  The code that does that is in\ntools/perf/util/cpumap.[ch], and consists of a read_cpu_map()\nfunction that sets up a cpumap[] array and returns the number of\nonline cpus.  If /sys/devices/system/cpu/online can\u0027t be read or\ncan\u0027t be parsed successfully, it falls back to using sysconf to\nask how many cpus are online and sets up an identity map in cpumap[].\n\nThe perf record, perf stat and perf top code then calls\nread_cpu_map() in the system-wide monitoring case (instead of\nsysconf) and uses cpumap[] to get the cpu numbers to pass to\nperf_event_open.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nLKML-Reference: \u003c20100310093609.GA3959@brick.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60666c630bdb33983a894b050b588b663f38f368",
      "tree": "ec9eef2f18fe94f7ec6d86ad4fcb046081a47283",
      "parents": [
        "0fb8ee48d9dfff6a0913ceb0be2068d8be203763"
      ],
      "author": {
        "name": "Liming Wang",
        "email": "liming.wang@windriver.com",
        "time": "Thu Dec 31 16:05:50 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 13 10:09:08 2010 +0100"
      },
      "message": "perf tools: Fix --pid option for stat\n\ncurrent pid option doesn\u0027t work for perf stat. Change it to what\nperf record --pid acts as.\n\nSigned-off-by: Liming Wang \u003climing.wang@windriver.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1262246750-2191-1-git-send-email-liming.wang@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7255fe2a42c612f2b8fe4c347f0a5f0c97d85a46",
      "tree": "188f42ec858fc1caf7a50d8fb92393bd7778d59b",
      "parents": [
        "d2fb8b4151a92223da6a84006f8f248ebeb6677d"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.de.marchi@gmail.com",
        "time": "Sun Nov 15 12:05:08 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 15:25:50 2009 +0100"
      },
      "message": "perf stat: Do not print ratio when task-clock event is not counted\n\nThe ratio between the number of events and the time elapsed makes\nsense only if task-clock event is counted. Otherwise it will be\nsimply a (confusing)\n\n\t#      0.000 M/sec\n\nThis patch outputs the ratio only if task-clock event is counted.\nSome test examples of before and after:\n\nBefore:\n\n [lucas@skywalker linux.trees.git]$ sudo perf stat -e branch-misses -a -- sleep 1\n\n\t Performance counter stats for \u0027sleep 1\u0027:\n\n\t\t1367818  branch-misses            #      0.000 M/sec\n\n\t    1.001494325  seconds time elapsed\n\nAfter (without task-clock):\n\n [lucas@skywalker perf]$ sudo ./perf stat -e branch-misses -a -- sleep 1\n\n\t Performance counter stats for \u0027sleep 1\u0027:\n\n\t\t1135044  branch-misses\n\n\t    1.001370775  seconds time elapsed\n\nAfter (with task-clock):\n\n [lucas@skywalker perf]$ sudo ./perf stat -e branch-misses -e task-clock -a -- sleep 1\n\n\t Performance counter stats for \u0027sleep 1\u0027:\n\n\t\t1070111  branch-misses            #      0.534 M/sec\n\t    2002.730893  task-clock-msecs         #      1.999 CPUs\n\n\t    1.001640292  seconds time elapsed\n\nSigned-off-by: Lucas De Marchi \u003clucas.de.marchi@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c20091115140507.GB21561@skywalker.lan\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd86e72abdbc4b436471af5a97927c6145f5298c",
      "tree": "dfe47fb4d8644de51a4f227e3c0e06f7f7a35934",
      "parents": [
        "56aab464ff6232bcc2f53b26576983dc83f75db7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 13:33:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 13:36:32 2009 +0200"
      },
      "message": "perf stat: Count branches first\n\nCount branches first, cache-misses second. The reason is that\non x86 branches are not counted by all counters on all CPUs.\n\nBefore:\n\n Performance counter stats for \u0027ls\u0027:\n\n       0.756653  task-clock-msecs         #      0.802 CPUs\n              0  context-switches         #      0.000 M/sec\n              0  CPU-migrations           #      0.000 M/sec\n            250  page-faults              #      0.330 M/sec\n        2375725  cycles                   #   3139.781 M/sec\n        1628129  instructions             #      0.685 IPC\n          19643  cache-references         #     25.960 M/sec\n           4608  cache-misses             #      6.090 M/sec\n         342532  branches                 #    452.694 M/sec\n  \u003cnot counted\u003e  branch-misses\n\n    0.000943356  seconds time elapsed\n\nAfter:\n\n Performance counter stats for \u0027ls\u0027:\n\n       1.056734  task-clock-msecs         #      0.859 CPUs\n              0  context-switches         #      0.000 M/sec\n              0  CPU-migrations           #      0.000 M/sec\n            259  page-faults              #      0.245 M/sec\n        3345932  cycles                   #   3166.295 M/sec\n        3074090  instructions             #      0.919 IPC\n         616928  branches                 #    583.806 M/sec\n          39279  branch-misses            #      6.367 %\n          21312  cache-references         #     20.168 M/sec\n           3661  cache-misses             #      3.464 M/sec\n\n    0.001230551  seconds time elapsed\n\n(also prettify the printout of branch misses, in case it\u0027s\n getting scaled.)\n\nCc: Tim Blechmann \u003ctim@klingt.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4ADC3975.8050109@klingt.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n---\n tools/perf/builtin-stat.c |    2 ++\n 1 files changed, 2 insertions(+), 0 deletions(-)\n\ndiff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c\nindex c373683..95a55ea 100644\n--- a/tools/perf/builtin-stat.c\n+++ b/tools/perf/builtin-stat.c\n@@ -59,6 +59,8 @@ static struct perf_event_attr default_attrs[] \u003d {\n   { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_INSTRUCTIONS\t},\n   { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_REFERENCES},\n   { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_MISSES\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_INSTRUCTIONS},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_MISSES\t},\n\n };\n---\n tools/perf/builtin-stat.c |   20 ++++++++++----------\n 1 files changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c\nindex 95a55ea..90e0a26 100644\n--- a/tools/perf/builtin-stat.c\n+++ b/tools/perf/builtin-stat.c\n@@ -50,17 +50,17 @@\n\n static struct perf_event_attr default_attrs[] \u003d {\n\n-  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_TASK_CLOCK\t},\n-  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_CONTEXT_SWITCHES},\n-  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_CPU_MIGRATIONS\t},\n-  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_PAGE_FAULTS\t},\n-\n-  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CPU_CYCLES\t},\n-  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_INSTRUCTIONS\t},\n-  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_REFERENCES},\n-  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_MISSES\t},\n-  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_INSTRUCTIONS},\n-  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_MISSES\t},\n+  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_TASK_CLOCK\t\t},\n+  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_CONTEXT_SWITCHES\t},\n+  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_CPU_MIGRATIONS\t\t},\n+  { .type \u003d PERF_TYPE_SOFTWARE, .config \u003d PERF_COUNT_SW_PAGE_FAULTS\t\t},\n+\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CPU_CYCLES\t\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_INSTRUCTIONS\t\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_REFERENCES\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_MISSES\t\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_INSTRUCTIONS\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_MISSES\t\t},\n\n };\n"
    },
    {
      "commit": "56aab464ff6232bcc2f53b26576983dc83f75db7",
      "tree": "7688e298d829febb2acf67d872e0f893a3178c51",
      "parents": [
        "12133afffcc7140eea915b1572189a2ea0cf7b0e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 13:27:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 13:27:08 2009 +0200"
      },
      "message": "perf stat: Re-align the default_attrs[] array\n\nClean up the array definition to be vertically aligned.\n\nNo functional effects.\n\nCc: Tim Blechmann \u003ctim@klingt.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4ADC3975.8050109@klingt.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n---\n tools/perf/builtin-stat.c |    2 ++\n 1 files changed, 2 insertions(+), 0 deletions(-)\n\ndiff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c\nindex c373683..95a55ea 100644\n--- a/tools/perf/builtin-stat.c\n+++ b/tools/perf/builtin-stat.c\n@@ -59,6 +59,8 @@ static struct perf_event_attr default_attrs[] \u003d {\n   { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_INSTRUCTIONS\t},\n   { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_REFERENCES},\n   { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_CACHE_MISSES\t},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_INSTRUCTIONS},\n+  { .type \u003d PERF_TYPE_HARDWARE, .config \u003d PERF_COUNT_HW_BRANCH_MISSES\t},\n\n };\n"
    },
    {
      "commit": "12133afffcc7140eea915b1572189a2ea0cf7b0e",
      "tree": "4662d18705e9c5cb4263bfec86d8ac1ebf01d699",
      "parents": [
        "1abc7f5500fff8422f34826a006648d8741d83d3"
      ],
      "author": {
        "name": "Tim Blechmann",
        "email": "tim@klingt.org",
        "time": "Mon Oct 19 12:03:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 13:26:42 2009 +0200"
      },
      "message": "perf stat: Add branch performance events to default output\n\nAdds performance event information about branches\nand branch misses to the default output of perf stat.\n\nSigned-off-by: Tim Blechmann \u003ctim@klingt.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4ADC3975.8050109@klingt.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11018201b831e19304c0d639f105ad6c27e120b1",
      "tree": "531051de316cdf54b8193d11fb843d7432419d2c",
      "parents": [
        "f39cdf25bf77219676ec5360980ac40b1a7e144a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Oct 18 22:29:23 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 09:20:21 2009 +0200"
      },
      "message": "perf stat: Add branch performance metric\n\nWhen we count both branches and branch-misses it is useful to\nprint out the percentage of branch-misses:\n\n # perf stat -e branches -e branch-misses /bin/true\n\n Performance counter stats for \u0027/bin/true\u0027:\n\n         401684  branches                 #      0.000 M/sec\n          23301  branch-misses            #      5.801 %\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: paulus@samba.org\nCc: a.p.zijlstra@chello.nl\nLKML-Reference: \u003c20091018112923.GQ4808@kryten\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "933da83aa17939a78d59708321c0b27d0ec8c6ce",
      "tree": "623ef9032ef6321179a389147a3296f064037504",
      "parents": [
        "1ad0560e8cdb6d5b381220dc2da187691b5ce124"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Sun Oct 04 01:35:01 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Oct 04 19:37:39 2009 +0200"
      },
      "message": "perf: Propagate term signal to child\n\nIf we launch the child on behalf of the user, ensure that it dies\nalong with ourselves when we are interrupted.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nLKML-Reference: \u003c1254616502-4728-1-git-send-email-chris@chris-wilson.co.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7f7fea30b7e52c9d4b9cef271110a98d59adcbc",
      "tree": "aa57c1290455298d178ed6880cd8157a3e738abd",
      "parents": [
        "a8f90e906783f1f815120eefe813b23cb396e9bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 14:53:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 22 15:01:47 2009 +0200"
      },
      "message": "perf stat: Fix zero total printouts\n\nBefore:\n\n           0  sched:sched_switch #        nan M/sec\n\nAfter:\n\n           0  sched:sched_switch #      0.000 M/sec\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdd6c482c9ff9c55475ee7392ec8f672eddb7be6",
      "tree": "81f98a3ab46c589792057fe2392c1e10f8ad7893",
      "parents": [
        "dfc65094d0313cc48969fa60bcf33d693aeb05a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:02:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 14:28:04 2009 +0200"
      },
      "message": "perf: Do the big rename: Performance Counters -\u003e Performance Events\n\nBye-bye Performance Counters, welcome Performance Events!\n\nIn the past few months the perfcounters subsystem has grown out its\ninitial role of counting hardware events, and has become (and is\nbecoming) a much broader generic event enumeration, reporting, logging,\nmonitoring, analysis facility.\n\nNaming its core object \u0027perf_counter\u0027 and naming the subsystem\n\u0027perfcounters\u0027 has become more and more of a misnomer. With pending\ncode like hw-breakpoints support the \u0027counter\u0027 name is less and\nless appropriate.\n\nAll in one, we\u0027ve decided to rename the subsystem to \u0027performance\nevents\u0027 and to propagate this rename through all fields, variables\nand API names. (in an ABI compatible fashion)\n\nThe word \u0027event\u0027 is also a bit shorter than \u0027counter\u0027 - which makes\nit slightly more convenient to write/handle as well.\n\nThanks goes to Stephane Eranian who first observed this misnomer and\nsuggested a rename.\n\nUser-space tooling and ABI compatibility is not affected - this patch\nshould be function-invariant. (Also, defconfigs were not touched to\nkeep the size down.)\n\nThis patch has been generated via the following script:\n\n  FILES\u003d$(find * -type f | grep -vE \u0027oprofile|[^K]config\u0027)\n\n  sed -i \\\n    -e \u0027s/PERF_EVENT_/PERF_RECORD_/g\u0027 \\\n    -e \u0027s/PERF_COUNTER/PERF_EVENT/g\u0027 \\\n    -e \u0027s/perf_counter/perf_event/g\u0027 \\\n    -e \u0027s/nb_counters/nb_events/g\u0027 \\\n    -e \u0027s/swcounter/swevent/g\u0027 \\\n    -e \u0027s/tpcounter_event/tp_event/g\u0027 \\\n    $FILES\n\n  for N in $(find . -name perf_counter.[ch]); do\n    M\u003d$(echo $N | sed \u0027s/perf_counter/perf_event/g\u0027)\n    mv $N $M\n  done\n\n  FILES\u003d$(find . -name perf_event.*)\n\n  sed -i \\\n    -e \u0027s/COUNTER_MASK/REG_MASK/g\u0027 \\\n    -e \u0027s/COUNTER/EVENT/g\u0027 \\\n    -e \u0027s/\\\u003cevent\\\u003e/event_id/g\u0027 \\\n    -e \u0027s/counter/event/g\u0027 \\\n    -e \u0027s/Counter/Event/g\u0027 \\\n    $FILES\n\n... to keep it as correct as possible. This script can also be\nused by anyone who has pending perfcounters patches - it converts\na Linux kernel tree over to the new naming. We tried to time this\nchange to the point in time where the amount of pending patches\nis the smallest: the end of the merge window.\n\nNamespace clashes were fixed up in a preparatory patch - and some\nstylistic fallout will be fixed up in a subsequent patch.\n\n( NOTE: \u0027counters\u0027 are still the proper terminology when we deal\n  with hardware registers - and these sed scripts are a bit\n  over-eager in renaming them. I\u0027ve undone some of that, but\n  in case there\u0027s something left where \u0027counter\u0027 would be\n  better than \u0027event\u0027 we can undo that on an individual basis\n  instead of touching an otherwise nicely automated patch. )\n\nSuggested-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReviewed-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "849abde92bd3314a4894f2b4f70b30c2accf8653",
      "tree": "10249b655b074635bf2c46f25af0c54c894606c3",
      "parents": [
        "8a02631a470d6f2ccec7bcf79c1058b0d4240bce"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 04 18:23:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 20:27:26 2009 +0200"
      },
      "message": "perf stat: Clean up statistics calculations a bit more\n\nRemove some, now useless, global storage.\nDon\u0027t calculate the stddev when not needed.\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": "8a02631a470d6f2ccec7bcf79c1058b0d4240bce",
      "tree": "e9dc528dff1db2d7165f315f9c05877265561444",
      "parents": [
        "63d40deb2e7c64ed55943d49f078e09fc4b64b54"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 04 17:26:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 17:38:15 2009 +0200"
      },
      "message": "perf stat: More advanced variance computation\n\nUse the more advanced single pass variance algorithm outlined\non the wikipedia page. This is numerically more stable for\nlarger sample sets.\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": "63d40deb2e7c64ed55943d49f078e09fc4b64b54",
      "tree": "df36ad086b762f87b6f53ff8750b62e25b2cce07",
      "parents": [
        "9e9772c458d50dabdb5327821da3803254638cd1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 04 17:03:13 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 17:38:14 2009 +0200"
      },
      "message": "perf stat: Use stddev_mean in stead of stddev\n\nWhen we\u0027re computing the mean by sampling the distribution,\nthen the std dev of the mean is related to the std dev of the\nsample set by:\n\n  stddev_mean \u003d std_dev / sqrt(N)\n\nWhich is exactly what we want.\n\nThis results in the error on the mean decreasing with\nincreasing number of samples.\n\nAlso fix the scaled \u003d\u003d -1, aka not counted case.\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": "9e9772c458d50dabdb5327821da3803254638cd1",
      "tree": "98e714214b30aae145f023209e843c4ae0548c52",
      "parents": [
        "506d4bc8d5dab20d84624aa07cdc6dcd77915d52"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 04 15:36:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 16:33:08 2009 +0200"
      },
      "message": "perf stat: Remove the limit on repeat\n\nSince we don\u0027t need all the individual samples to calculate the\nerror remove both the limit and the storage overhead associated\nwith that.\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": "506d4bc8d5dab20d84624aa07cdc6dcd77915d52",
      "tree": "48036f6ace4d499a772f172a2dfcea69ffb79fc1",
      "parents": [
        "1653192f510bd8114b7b133d7289e6e5c3e95046"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 04 15:36:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 04 16:33:07 2009 +0200"
      },
      "message": "perf stat: Change noise calculation to use stddev\n\nThe current noise computation does:\n\n \\Sum abs(n_i - avg(n)) * N^-1.5\n\nWhich is (afaik) not a regular noise function, and needs the\ncomplete sample set available to post-process.\n\nChange this to use a regular stddev computation which can be\ndone by keeping a two sums:\n\n stddev \u003d sqrt( 1/N (\\Sum n_i^2) - avg(n)^2 )\n\nFor which we only need to keep \\Sum n_i and \\Sum n_i^2.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f28827a162fd1e8da4e96bed69b06d2606e8322",
      "tree": "b57a24ca7819a1b347374aa62dd90444740811f8",
      "parents": [
        "0d3a5c885971de1e3124d85bfadf818abac9ba12"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Aug 16 22:05:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 16 23:06:45 2009 +0200"
      },
      "message": "perf tools: Librarize trace_event() helper\n\nLibrarize trace_event() helper so that perf trace can use it\ntoo. Also clean up the debug.h includes a bit.\n\nIt\u0027s not good to have it included in perf.h because it doesn\u0027t\nmake it flexible against other headers it may need (headers\nthat can also depend on perf.h and then create a recursive\nheader dependency).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1250453149-664-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd84c2ac6d6425dd4d1b80a2231e534b9b03df18",
      "tree": "943332327f02f7a056dc87c64e72e340c484ede6",
      "parents": [
        "9f8666971185b86615a074bcac67c90fdf8af8bc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 12 10:03:49 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 12 12:02:38 2009 +0200"
      },
      "message": "perf tools: Factorize high level dso helpers\n\nFactorize multiple definitions of high level dso helpers into the\nsymbol source file.\n\nThe side effect is a general export of the verbose and eprintf\ndebugging helpers into a new file dedicated to debugging purposes.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\n"
    },
    {
      "commit": "b26bc5a7f81474937e427b0c855eabee5ad56f89",
      "tree": "300d07ae61d150ac6b15d54898d139a54090be34",
      "parents": [
        "94cb9e385d5b4d55a5ae389baa10ad2835ea39bb"
      ],
      "author": {
        "name": "Brice Goglin",
        "email": "Brice.Goglin@inria.fr",
        "time": "Fri Aug 07 10:18:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:37 2009 +0200"
      },
      "message": "perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale\n\nWe want to use a coherent flag for -S/--stat across all tools,\nso free up -S in perf stat.\n\nSigned-off-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0541234f89c93f313961ce7b28676e11488a5f0",
      "tree": "b6006cad6fc36f60c8c027f4b6493a8cc686c37f",
      "parents": [
        "7f453c24b95a085fc7bd35d53b33abc4dc5a048b"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jul 22 23:04:12 2009 +1000"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: Improve perf stat and perf record option parsing\n\nperf stat and perf record currently look for all options on the command\nline. This can lead to some confusion:\n\n# perf stat ls -l\n  Error: unknown switch `l\u0027\n\nWhile we can work around this by adding \u0027--\u0027 before the command, the git\noption parsing code can stop at the first non option:\n\n# perf stat ls -l\n Performance counter stats for \u0027ls -l\u0027:\n....\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090722130412.GD9029@kryten\u003e\n"
    },
    {
      "commit": "a92bef0f216bbf3d05c0c0709ea02e267f2b920e",
      "tree": "e10737dada321c315588c1726f75ff2d87fecc39",
      "parents": [
        "0406ca6d8e849d9dd027c8cb6791448e81411aef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 01 21:02:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 22:37:24 2009 +0200"
      },
      "message": "perf stat: Handle pipe read failures in perf stat\n\nBuilding builtin-stat.c reports the following errors:\n\ncc1: warnings being treated as errors\nbuiltin-stat.c: In function ‘run_perf_stat’:\nbuiltin-stat.c:242: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result\nbuiltin-stat.c:255: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result\nmake: *** [builtin-stat.o] Erreur 1\n\nThis patch handles the possible pipe read failures.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\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: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1246474930-6088-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b9ebdcc0ce1c676ebf5dc4f6df6b440d8fcf88ab",
      "tree": "2109021ca380f0e979b4427908acce95e994fccc",
      "parents": [
        "f37a291c527c954df4da568de718ebb36b8261c0"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Jul 01 15:05:09 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 13:28:38 2009 +0200"
      },
      "message": "perf stat: Define MATCH_EVENT for easy attr checking\n\nMATCH_EVENT is useful:\n\n 1. for multiple attrs checking\n 2. avoid repetition of PERF_TYPE_ and PERF_COUNT_ and save space\n 3. avoids line breakage\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1246440909.3403.5.camel@hpdv5.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f37a291c527c954df4da568de718ebb36b8261c0",
      "tree": "bb4863fbd185fbfef5f7d28cb4001d59d4123a2d",
      "parents": [
        "88a69dfbc6ab1e3b51bba8c9103055e21089ebb9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 12:37:06 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 12:49:48 2009 +0200"
      },
      "message": "perf_counter tools: Add more warnings and fix/annotate them\n\nEnable -Wextra. This found a few real bugs plus a number\nof signed/unsigned type mismatches/uncleanlinesses. It\nalso required a few annotations\n\nAll things considered it was still worth it so lets try with\nthis enabled for now.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "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": "051ae7f7344f453616b6b10332d4d8e1d40ed823",
      "tree": "7d03f94c0a219b52fa604358c2ed835c1c861b35",
      "parents": [
        "210ad39fb7ef0bc0494483f517f42524f16bb2a7"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jun 29 21:13:21 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 29 22:38:09 2009 +0200"
      },
      "message": "perf_counter tools: Reduce perf stat measurement overhead/skew\n\nVince Weaver reported a \u0027perf stat\u0027 measurement overhead in the\ncount of retired instructions, which can amount to a +6000\ninstructions inflated count in the reported count.\n\nAt present, perf stat creates its counters on the perf process.  Thus\nthe counters count the fork and various other activity in both the\nparent and child, such as the resolver overhead for resolving PLT\nentries for any libc functions that haven\u0027t been called before, such\nas execvp.\n\nThis reduces the overhead by creating the counters on the child process\nafter the fork, using a couple of pipes to synchronize so that the\nchild process waits until the parent has created the counters before\ndoing the exec.  To eliminate the PLT resolution overhead on calling\nexecvp, this does a dummy execvp first which will always fail.\n\nWith this, the overhead of executing a program goes down from over\n4800 instructions to about 90 instructions on powerpc (32-bit).\nThis was measured with a statically-linked program written in\nassembler which only does the 3 instructions needed to call _exit(0).\n\nBefore:\n\n$ perf stat -e 0:1:u ./three\n\n Performance counter stats for \u0027./three\u0027:\n\n           4858  instructions\n\n    0.001274523  seconds time elapsed\n\nAfter:\n\n$ perf stat -e 0:1:u ./three\n\n Performance counter stats for \u0027./three\u0027:\n\n             92  instructions\n\n    0.000468153  seconds time elapsed\n\nReported-by: Vince Weaver \u003cvince@deater.net\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19016.41425.814043.870352@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "210ad39fb7ef0bc0494483f517f42524f16bb2a7",
      "tree": "74ab5c078f03a1f4b7683cb4bd92c746a9e2e1a5",
      "parents": [
        "4078c444cf667f018c3fc7ebf141131a2b7c9480"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 29 21:50:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 29 21:50:54 2009 +0200"
      },
      "message": "perf stat: Use percentages for scaling output\n\nPeter expressed a strong preference for percentage based\ndisplay of scaled values - so revert to that from the\nrecently introduced multiplication-factor unit.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\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": "c3043569dc8fbe9228b76174f15d1a7152c48a20",
      "tree": "c8a54134d28114665ef1a8ea5d9e6a12bedbef98",
      "parents": [
        "6e750a8fc009fd0ae98704525d1d8e80d60e8cc9"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Sat Jun 27 23:49:09 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 28 15:22:47 2009 +0200"
      },
      "message": "perf stat: Micro-optimize the code: memcpy is only required if no event is selected and !null_run\n\nSet attrs and nr_counters if no event is selected and !null_run.\n\nSetting of attrs should depend on number of counters,\nso we need to memcpy only for sizeof(default_attrs)\n\nAlso set nr_counters as ARRAY_SIZE(default_attrs) in place of\nhardcoded value.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1246126749.32198.16.camel@hpdv5.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e750a8fc009fd0ae98704525d1d8e80d60e8cc9",
      "tree": "e2732b3ea1a14ab2a5b641eeb8741fd44e0ef064",
      "parents": [
        "566747e6298289c5cb02d4939cb3abf1c4fe7e5a"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Sat Jun 27 03:02:07 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 27 18:39:41 2009 +0200"
      },
      "message": "perf stat: Improve output\n\nIncrease size for event name to handle bigger names like\n\u0027L1-d$-prefetch-misses\u0027\n\nChanged scaled counters from percentage to a multiplicative\nfactor because the latter is more expressive.\n\nAlso aligned the scaling factor, otherwise sometimes it looks\nlike:\n\n            384  iTLB-load-misses           (4.74x scaled)\n         452029  branch-loads               (8.00x scaled)\n           5892  branch-load-misses         (20.39x scaled)\n         972315  iTLB-loads                 (3.24x scaled)\n\nBefore:\n         150708  L1-d$-stores          (scaled from 23.57%)\n         428804  L1-d$-prefetches      (scaled from 23.47%)\n         314446  L1-d$-prefetch-misses  (scaled from 23.42%)\n      252626137  L1-i$-loads           (scaled from 23.24%)\n        5297550  dTLB-load-misses      (scaled from 23.96%)\n      106992392  branch-loads          (scaled from 23.67%)\n        5239561  branch-load-misses    (scaled from 23.43%)\n\nAfter:\n        1731713  L1-d$-loads               (  14.25x scaled)\n          44241  L1-d$-prefetches          (   3.88x scaled)\n          21076  L1-d$-prefetch-misses     (   3.40x scaled)\n        5789421  L1-i$-loads               (   3.78x scaled)\n          29645  dTLB-load-misses          (   2.95x scaled)\n         461474  branch-loads              (   6.52x scaled)\n           7493  branch-load-misses        (  26.57x scaled)\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1246051927.2988.10.camel@hpdv5.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "566747e6298289c5cb02d4939cb3abf1c4fe7e5a",
      "tree": "5762ec2d18b2ec3d7c727ac683d95cb3ca54dc21",
      "parents": [
        "0cfb7a13b8e4e0afd4b856156ab16a182de7505b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 27 06:24:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 27 06:34:37 2009 +0200"
      },
      "message": "perf stat: Fix multi-run stats\n\nIn multi-run (-r/--repeat) printouts, print out the noise of\nthe wall-clock average as well.\n\nAlso, fix a bug in printing out scaled counters: if it was not\nscaled then we should not update the average with -1.\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": "0cfb7a13b8e4e0afd4b856156ab16a182de7505b",
      "tree": "7ebae71e6ef94d3bb95e43b4b2735c378f217449",
      "parents": [
        "fde953c1c67986e1c381fa50d8207b1578b5cefa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 27 06:10:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 27 06:11:24 2009 +0200"
      },
      "message": "perf stat: Add -n/--null option to run without counters\n\nAllow a no-counters run. This can be useful to measure just\nelapsed wall-clock time - or to assess the raw overhead of perf\nstat itself, without running any counters.\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": "3d63259583278262d9153316094e315f73ebfcb5",
      "tree": "48f8fefd44f744c4ac35313cc2502ca68c18db9f",
      "parents": [
        "c14dab5c0782ef632742963a66276a195418a63c"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Wed Jun 24 18:19:34 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 14:55:45 2009 +0200"
      },
      "message": "perf stat: Remove dead code\n\nRemove dead code and do some code alignment.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1245847774.2681.2.camel@ht.satnam\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cca03c0aeb18a975abec28df518a2b64ae3e6964",
      "tree": "a18afb31eb7a9b7afb5ae23727de84bbef7d4401",
      "parents": [
        "b0a28589b2fc9bee8ed83dee006a497d1ce93841"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Tue Jun 23 17:12:49 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 23 21:58:44 2009 +0200"
      },
      "message": "perf stat: Fix verbose for perf stat\n\nError message should use stderr for verbose (-v), otherwise\nmessage will be lost for:\n\n $ ./perf stat -v \u003ccmd\u003e  \u003e /dev/null\n\nFor example on AMD bus-cycles event is not available so now\nit looks like:\n\n $ ./perf stat -v -e bus-cycles ls \u003e /dev/null\nError: counter 0, sys_perf_counter_open() syscall returned with -1 (Invalid argument)\n\n Performance counter stats for \u0027ls\u0027:\n\n  \u003cnot counted\u003e  bus-cycles\n\n    0.006765877  seconds time elapsed.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1245757369.3776.1.camel@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9cffa8d53335d891cc0ecb3824a67118b3ee4b2f",
      "tree": "420e0f96198f0e78aedd006280826b8cf0839820",
      "parents": [
        "b49a9e7e72103ea91946453c19703a4dfa1994fe"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 19 22:21:42 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 19 18:25:47 2009 +0200"
      },
      "message": "perf_counter tools: Define and use our own u64, s64 etc. definitions\n\nOn 64-bit powerpc, __u64 is defined to be unsigned long rather than\nunsigned long long.  This causes compiler warnings every time we\nprint a __u64 value with %Lx.\n\nRather than changing __u64, we define our own u64 to be unsigned long\nlong on all architectures, and similarly s64 as signed long long.\nFor consistency we also define u32, s32, u16, s16, u8 and s8.  These\ndefinitions are put in a new header, types.h, because these definitions\nare needed in util/string.h and util/symbol.h.\n\nThe main change here is the mechanical change of __[us]{64,32,16,8}\nto remove the \"__\".  The other changes are:\n\n* Create types.h\n* Include types.h in perf.h, util/string.h and util/symbol.h\n* Add types.h to the LIB_H definition in Makefile\n* Added (u64) casts in process_overflow_event() and print_sym_table()\n  to kill two remaining warnings.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: benh@kernel.crashing.org\nLKML-Reference: \u003c19003.33494.495844.956580@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef281a196d66b8bc2d067a3704712e5b93691fbc",
      "tree": "616534ffbcb866166316b0b987ce5fa142760d31",
      "parents": [
        "42202dd56c717f173cd0bf2390249e1bf5cf210b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 15:40:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 15:40:35 2009 +0200"
      },
      "message": "perf stat: Enable raw data to be printed\n\nIf -vv (very verbose) is specified, print out raw data\nin the following format:\n\n$ perf stat -vv -r 3 ./loop_1b_instructions\n\n[ perf stat: executing run #1 ... ]\n[ perf stat: executing run #2 ... ]\n[ perf stat: executing run #3 ... ]\n\ndebug:              runtime[0]: 235871872\ndebug:             walltime[0]: 236646752\ndebug:       runtime_cycles[0]: 755150182\ndebug:            counter/0[0]: 235871872\ndebug:            counter/1[0]: 235871872\ndebug:            counter/2[0]: 235871872\ndebug:               scaled[0]: 0\ndebug:            counter/0[1]: 2\ndebug:            counter/1[1]: 235870662\ndebug:            counter/2[1]: 235870662\ndebug:               scaled[1]: 0\ndebug:            counter/0[2]: 1\ndebug:            counter/1[2]: 235870437\ndebug:            counter/2[2]: 235870437\ndebug:               scaled[2]: 0\ndebug:            counter/0[3]: 140\ndebug:            counter/1[3]: 235870298\ndebug:            counter/2[3]: 235870298\ndebug:               scaled[3]: 0\ndebug:            counter/0[4]: 755150182\ndebug:            counter/1[4]: 235870145\ndebug:            counter/2[4]: 235870145\ndebug:               scaled[4]: 0\ndebug:            counter/0[5]: 1001411258\ndebug:            counter/1[5]: 235868838\ndebug:            counter/2[5]: 235868838\ndebug:               scaled[5]: 0\ndebug:            counter/0[6]: 27897\ndebug:            counter/1[6]: 235868560\ndebug:            counter/2[6]: 235868560\ndebug:               scaled[6]: 0\ndebug:            counter/0[7]: 2910\ndebug:            counter/1[7]: 235868151\ndebug:            counter/2[7]: 235868151\ndebug:               scaled[7]: 0\ndebug:              runtime[0]: 235980257\ndebug:             walltime[0]: 236770942\ndebug:       runtime_cycles[0]: 755114546\ndebug:            counter/0[0]: 235980257\ndebug:            counter/1[0]: 235980257\ndebug:            counter/2[0]: 235980257\ndebug:               scaled[0]: 0\ndebug:            counter/0[1]: 3\ndebug:            counter/1[1]: 235980049\ndebug:            counter/2[1]: 235980049\ndebug:               scaled[1]: 0\ndebug:            counter/0[2]: 1\ndebug:            counter/1[2]: 235979907\ndebug:            counter/2[2]: 235979907\ndebug:               scaled[2]: 0\ndebug:            counter/0[3]: 135\ndebug:            counter/1[3]: 235979780\ndebug:            counter/2[3]: 235979780\ndebug:               scaled[3]: 0\ndebug:            counter/0[4]: 755114546\ndebug:            counter/1[4]: 235979652\ndebug:            counter/2[4]: 235979652\ndebug:               scaled[4]: 0\ndebug:            counter/0[5]: 1001439771\ndebug:            counter/1[5]: 235979304\ndebug:            counter/2[5]: 235979304\ndebug:               scaled[5]: 0\ndebug:            counter/0[6]: 23723\ndebug:            counter/1[6]: 235979050\ndebug:            counter/2[6]: 235979050\ndebug:               scaled[6]: 0\ndebug:            counter/0[7]: 2213\ndebug:            counter/1[7]: 235978820\ndebug:            counter/2[7]: 235978820\ndebug:               scaled[7]: 0\ndebug:              runtime[0]: 235888002\ndebug:             walltime[0]: 236700533\ndebug:       runtime_cycles[0]: 754881504\ndebug:            counter/0[0]: 235888002\ndebug:            counter/1[0]: 235888002\ndebug:            counter/2[0]: 235888002\ndebug:               scaled[0]: 0\ndebug:            counter/0[1]: 2\ndebug:            counter/1[1]: 235887793\ndebug:            counter/2[1]: 235887793\ndebug:               scaled[1]: 0\ndebug:            counter/0[2]: 1\ndebug:            counter/1[2]: 235887645\ndebug:            counter/2[2]: 235887645\ndebug:               scaled[2]: 0\ndebug:            counter/0[3]: 135\ndebug:            counter/1[3]: 235887499\ndebug:            counter/2[3]: 235887499\ndebug:               scaled[3]: 0\ndebug:            counter/0[4]: 754881504\ndebug:            counter/1[4]: 235887368\ndebug:            counter/2[4]: 235887368\ndebug:               scaled[4]: 0\ndebug:            counter/0[5]: 1001401731\ndebug:            counter/1[5]: 235887024\ndebug:            counter/2[5]: 235887024\ndebug:               scaled[5]: 0\ndebug:            counter/0[6]: 24212\ndebug:            counter/1[6]: 235886786\ndebug:            counter/2[6]: 235886786\ndebug:               scaled[6]: 0\ndebug:            counter/0[7]: 1824\ndebug:            counter/1[7]: 235886560\ndebug:            counter/2[7]: 235886560\ndebug:               scaled[7]: 0\n\n Performance counter stats for \u0027/home/mingo/loop_1b_instructions\u0027 (3 runs):\n\n     235.913377  task-clock-msecs     #      0.997 CPUs    ( +-   0.011% )\n              2  context-switches     #      0.000 M/sec   ( +-   0.000% )\n              1  CPU-migrations       #      0.000 M/sec   ( +-   0.000% )\n            136  page-faults          #      0.001 M/sec   ( +-   0.730% )\n      755048744  cycles               #   3200.534 M/sec   ( +-   0.009% )\n     1001417586  instructions         #      1.326 IPC     ( +-   0.001% )\n          25277  cache-references     #      0.107 M/sec   ( +-   3.988% )\n           2315  cache-misses         #      0.010 M/sec   ( +-   9.845% )\n\n    0.236706075  seconds time elapsed.\n\nThis allows the summary stats to be validated.\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": "42202dd56c717f173cd0bf2390249e1bf5cf210b",
      "tree": "3c0e09eb6a9ea978a476801f40d7070fedcf8359",
      "parents": [
        "44175b6f397a6724121eeaf0f072e2c912a46614"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 14:57:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 15:18:57 2009 +0200"
      },
      "message": "perf stat: Add feature to run and measure a command multiple times\n\nAdd the --repeat \u003cn\u003e feature to perf stat, which repeats a given\ncommand up to a 100 times, collects the stats and calculates an\naverage and a stddev.\n\nFor example, the following oneliner \u0027perf stat\u0027 command runs hackbench\n5 times and prints a tabulated result of all metrics, with averages\nand noise levels (in percentage) printed:\n\n aldebaran:~/linux/linux/tools/perf\u003e ./perf stat --repeat 5 ~/hackbench 10\n Time: 0.117\n Time: 0.108\n Time: 0.089\n Time: 0.088\n Time: 0.100\n\n Performance counter stats for \u0027/home/mingo/hackbench 10\u0027 (5 runs):\n\n    1243.989586  task-clock-msecs     #     10.460 CPUs    ( +-   4.720% )\n          47706  context-switches     #      0.038 M/sec   ( +-  19.706% )\n            387  CPU-migrations       #      0.000 M/sec   ( +-   3.608% )\n          17793  page-faults          #      0.014 M/sec   ( +-   0.354% )\n     3770941606  cycles               #   3031.329 M/sec   ( +-   4.621% )\n     1566372416  instructions         #      0.415 IPC     ( +-   2.703% )\n       16783421  cache-references     #     13.492 M/sec   ( +-   5.202% )\n        7128590  cache-misses         #      5.730 M/sec   ( +-   7.420% )\n\n    0.118924455  seconds time elapsed.\n\nThe goal of this feature is to allow the reliance on these accurate\nstatistics and to know how many times a command has to be repeated\nfor the noise to go down to an acceptable level.\n\n(The -v option can be used to see a line printed out as each run progresses.)\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": "44175b6f397a6724121eeaf0f072e2c912a46614",
      "tree": "3a4f703fd90c9c10fa0fd1c88c51abfbb1f40003",
      "parents": [
        "f4db43a38f7387c3b19c9565124c06ab0c5d6e9a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 13:35:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 13 13:40:03 2009 +0200"
      },
      "message": "perf stat: Reorganize output\n\n - use IPC for the instruction normalization output\n - CPUs for the CPU utilization factor value.\n - print out time elapsed like the other rows\n - tidy up the task-clocks/cpu-clocks printout\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": "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": "f7b7c26e01e51fe46097e11f179dc71ce7950084",
      "tree": "4a542e0c386ceebc306886604337dbe6db50c413",
      "parents": [
        "4502d77c1d8f15f20c04b92cb96c12d4e465de29"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 10 15:55:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 10 16:55:27 2009 +0200"
      },
      "message": "perf_counter tools: Propagate signals properly\n\nCurrently report and stat catch SIGINT (and others) without altering\ntheir exit state. This means that things like:\n\n   while :; do perf stat ./foo ; done\n\nLoops become hard-to-interrupt, because bash never sees perf terminate\ndue to interruption. Fix this.\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": "e779898aa74cd2e97216368b3f3689ceffe8aeed",
      "tree": "5bbb4365fbc4a5c1063444740284ff9e540ada8a",
      "parents": [
        "a14832ff977e78d1982cdf78cdabb1f2320d9ac8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 07 18:14:46 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 07 18:14:46 2009 +0200"
      },
      "message": "perf stat: Print out instructins/cycle metric\n\nBefore:\n\n     7549326754  cycles               #    3201.811 M/sec\n    10007594937  instructions         #    4244.408 M/sec\n\nAfter:\n\n     7542051194  cycles               #    3201.996 M/sec\n    10007743852  instructions         #    4248.811 M/sec # 1.327 per cycle\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": "743ee1f80434138495bbb95ffb897acf46b51d54",
      "tree": "90e86af77e39609922d88746aa50c4075f724be7",
      "parents": [
        "2f01190aa62fe9dd0a98205927b9f09fd191c017"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 07 17:06:46 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 07 17:08:59 2009 +0200"
      },
      "message": "perf stat: Continue even on counter creation error\n\nBefore:\n\n $ perf stat ~/hackbench 5\n\n error: syscall returned with -1 (No such device)\n\nAfter:\n\n $ perf stat ~/hackbench 5\n Time: 1.640\n\n Performance counter stats for \u0027/home/mingo/hackbench 5\u0027:\n\n    6524.570382  task-clock-ticks     #       3.838 CPU utilization factor\n          35704  context-switches     #       0.005 M/sec\n            191  CPU-migrations       #       0.000 M/sec\n           8958  page-faults          #       0.001 M/sec\n  \u003cnot counted\u003e  cycles\n  \u003cnot counted\u003e  instructions\n  \u003cnot counted\u003e  cache-references\n  \u003cnot counted\u003e  cache-misses\n\n Wall-clock time elapsed:  1699.999995 msecs\n\nAlso add -v (--verbose) option to allow the printing of failed\ncounter opens.\n\nPlus dont print \u0027inf\u0027 if wall-time is zero (due to jiffies granularity),\ninstead skip the printing of the CPU utilization factor.\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": "864709302a80f26fa9da3be5b47304f0b8bae192",
      "tree": "8c2bab78f141fe43a38914bd3e3aae0a88f958e5",
      "parents": [
        "75b5032212641f6d38ac041416945e70da833b68"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 20:33:43 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 20:33:43 2009 +0200"
      },
      "message": "perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/\n\nSeveral people have suggested that \u0027perf\u0027 has become a full-fledged\ntool that should be moved out of Documentation/. Move it to the\n(new) tools/ directory.\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": "86847b62f0781ccc97a79936c9ed9dc818cff67b",
      "tree": "a55a8ea4a3e2c771322edc7aa01b1572c3a59c06",
      "parents": [
        "8326f44da090d6d304d29b9fdc7fb3e20889e329"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jun 06 12:24:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 06 14:16:49 2009 +0200"
      },
      "message": "perf_counter tools: Add \u0027perf list\u0027 to list available events\n\nperf list: List all the available event types which can be used in\n-e (--event) options.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "44db76c8553c328f4ae02481d77bb3a88ca17645",
      "tree": "048acfb361233b83af2d9a5f3ca079c5b4929fee",
      "parents": [
        "e98e96fe43ae92fad0930f05fb2b298e49b9f3b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 19:36:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 03 19:36:07 2009 +0200"
      },
      "message": "perf stat: Print out all arguments\n\nBefore:\n\n Performance counter stats for \u0027/home/mingo/hackbench\u0027:\n\nAfter:\n\n Performance counter stats for \u0027/home/mingo/hackbench 10\u0027:\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": "bf9e187637ca3d85cee7407e3af93995868cc87c",
      "tree": "c2ea1b5fad7f75082efb93abb7fa447940b7cb69",
      "parents": [
        "0a520c63e1625b92ef775da40192e1542910e7f6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 23:37:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 23:37:05 2009 +0200"
      },
      "message": "perf_counter tools: Make source code headers more coherent\n\nThe perf commands had different ways of describing themselves,\nintroduce a coherent command-file-header format taken from the\nGit project.\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": "c70975bc8d5bac487616785f5d5bc7b090dfa2d9",
      "tree": "dfbbd1e7af293dc41732fda240476598057df5ec",
      "parents": [
        "0d48696f87e3618b0d35bd3e4e9d7c188d51e7de"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 17:38:21 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:34 2009 +0200"
      },
      "message": "perf_counter tools: Fix up the ABI shakeup\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: 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": "29c2810276fbf8419c9b4d942b99c873e9b7640a",
      "tree": "44c6f1b1d1e9cdb12b1c206ac6fe8f49238b7a24",
      "parents": [
        "4593bba8679b925a056f84edac061676e7eda71c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 02 15:56:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 02 21:45:28 2009 +0200"
      },
      "message": "perf_counter tools: Remove the last nmi bits\n\nEverything is nmi these days, remove the userspace bits so that\nthe kernel can drop the interface.\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\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7c29318c2daa96d64b7312afd8283488c1cb29f",
      "tree": "4cfaddbe76b0670941b77ed093380efef310f822",
      "parents": [
        "c44613a4c1092e85841b78b7ab52a06654fcd321"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 30 12:38:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 30 12:41:12 2009 +0200"
      },
      "message": "perf_counter tools: Print \u0027CPU utilization factor\u0027 in builtin-stat\n\nBefore:\n\n Performance counter stats for \u0027/home/mingo/hackbench\u0027:\n\n    5728.862689  task clock ticks     (msecs)\n          34426  context switches     #        0.006 M/sec\n           3835  CPU migrations       #        0.001 M/sec\n          18158  pagefaults           #        0.003 M/sec\n    16218109156  CPU cycles           #     2830.947 M/sec\n    13519616840  instructions         #     2359.913 M/sec\n       55941661  cache references     #        9.765 M/sec\n       23554938  cache misses         #        4.112 M/sec\n\n Wall-clock time elapsed:   528.886980 msecs\n\nAfter:\n\n Performance counter stats for \u0027/home/mingo/hackbench\u0027:\n\n    5845.443541  task clock ticks     #      11.886 CPU utilization factor\n          38289  context switches     #       0.007 M/sec\n           4208  CPU migrations       #       0.001 M/sec\n          17755  pagefaults           #       0.003 M/sec\n    16664668576  CPU cycles           #    2850.882 M/sec\n    13468113991  instructions         #    2304.036 M/sec\n       57445468  cache references     #       9.827 M/sec\n       26896502  cache misses         #       4.601 M/sec\n\n Wall-clock time elapsed:   491.802357 msecs\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: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "be1ac0d81d0e3ab655f8c8ade31fb860ef6aa186"
}
