)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "be1ac0d81d0e3ab655f8c8ade31fb860ef6aa186",
      "tree": "2d393b94655e3c2a1f2333556271d6b9eab2497a",
      "parents": [
        "2996f5ddb7ba8889caeeac65edafe48845106eaa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 09:10:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 09:46:45 2009 +0200"
      },
      "message": "perf_counter tools: Also display time-normalized stat results\n\nAdd new column that normalizes counter results by\n\u0027nanoseconds spent running\u0027 unit.\n\nBefore:\n\n Performance counter stats for \u0027/home/mingo/hackbench\u0027:\n\n   10469.403605  task clock ticks     (msecs)\n          75502  context switches     (events)\n           9501  CPU migrations       (events)\n          36158  pagefaults           (events)\n    31975676185  CPU cycles           (events)\n    26257738659  instructions         (events)\n      108740581  cache references     (events)\n       54606088  cache misses         (events)\n\n Wall-clock time elapsed:   810.514504 msecs\n\nAfter:\n\n Performance counter stats for \u0027/home/mingo/hackbench\u0027:\n\n   10469.403605  task clock ticks     (msecs)\n          75502  context switches     #        0.007 M/sec\n           9501  CPU migrations       #        0.001 M/sec\n          36158  pagefaults           #        0.003 M/sec\n    31975676185  CPU cycles           #     3054.202 M/sec\n    26257738659  instructions         #     2508.045 M/sec\n      108740581  cache references     #       10.387 M/sec\n       54606088  cache misses         #        5.216 M/sec\n\n Wall-clock time elapsed:   810.514504 msecs\n\nThe advantage of that column is that it is characteristic of the\nexecution workflow, regardless of runtime. Hence \u0027hackbench 10\u0027\nwill look similar to \u0027hackbench 15\u0027 - while the absolute counter\nvalues are very different.\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": "2996f5ddb7ba8889caeeac65edafe48845106eaa",
      "tree": "e5a93215c835bb820720d929513a4cbebfbbeeea",
      "parents": [
        "c04f5e5d7b523f90ee3cdd70a68c4002aaecd3fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 09:10:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 09:21:49 2009 +0200"
      },
      "message": "perf_counter tools: Split display into reading and printing\n\nWe introduce the extra pass to allow the print-out to possibly\nrely on already read counters.\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c04f5e5d7b523f90ee3cdd70a68c4002aaecd3fa",
      "tree": "256105d453a2c1d6ee8901ff823235871a5f30be",
      "parents": [
        "c323d95fa4dbe0b6bf6d59e24a0b7db067dd08a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 09:10:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 09:11:49 2009 +0200"
      },
      "message": "perf_counter tools: Clean up builtin-stat.c\u0027s do_perfstat()\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e09675366695405412b709e91709c1ce2925c90",
      "tree": "cc32e43bfd0ca878825be04e571d08f330d6ff17",
      "parents": [
        "de04687f868bf98e4ef644af91ed85a3bc212ce8"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 28 16:25:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 29 00:02:33 2009 +0200"
      },
      "message": "perf_counter tools: Document \u0027--\u0027 option parsing terminator\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16f762a2ac5ecf8a11f6f0332e46cc3459220da5",
      "tree": "a54f013d037637a91ceac237b2b0455b29cf45d4",
      "parents": [
        "815e777f913ed54ddb449d2854015c65b4ecbfe3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 27 09:10:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 27 08:10:35 2009 +0200"
      },
      "message": "perf_counter tools: Introduce stricter C code checking\n\nTighten up our C code requirements:\n\n - disallow warnings\n - disallow declarations-mixed-with-statements\n - require proper prototypes\n - require C99 (with gcc extensions)\n\nFix up a ton of problems these measures unearth:\n\n - unused functions\n - needlessly global functions\n - missing prototypes\n - code mixed with declarations\n\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: 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\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20090526222155.GJ4424@ghostprotocols.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5242519b0296d128425368fc6ab17f541d5fa775",
      "tree": "2fb13c01ff80c4ff0818bdcb2d9d9edfbe244036",
      "parents": [
        "8ad8db3788fd9a449941fb2392ca85af4ee1cde1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 09:17:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 11:59:34 2009 +0200"
      },
      "message": "perf stat: Convert to Git option parsing\n\nRemove getopt usage and use Git\u0027s much more advanced and more compact\ncommand option library.\n\nExtend the event parser library with the extensions that were in\nperf-stat before.\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"
    },
    {
      "commit": "4e97ddf09ee3ce715fc334399bae4cc0c0a13057",
      "tree": "3515f1021f1e35df741d7132386294880e6a297a",
      "parents": [
        "69aa48ab82e17299efe2be6c21795945731a6c17"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 10:07:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 26 10:08:19 2009 +0200"
      },
      "message": "perf stat: Remove unused variable\n\n[ Impact: cleanup ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3f4b3855ba87caff8f35e738c7e7e3bad0a6ab1",
      "tree": "380e741efec735090f320ed2d749907953d9cb84",
      "parents": [
        "e4cbb4e3ac8b09fdb11e39e5a5611bfab0a7cd1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:40:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 25 14:40:01 2009 +0200"
      },
      "message": "perf stat: flip around \u0027:k\u0027 and \u0027:u\u0027 flags\n\nThis output:\n\n $ perf stat -e 0:1:k -e 0:1:u ./hello\n  Performance counter stats for \u0027./hello\u0027:\n          140131  instructions         (events)\n         1906968  instructions         (events)\n\nIs quite confusing - as :k means \"user instructions\", :u means\n\"kernel instructions\".\n\nFlip them around - as the \u0027exclude\u0027 property is not intuitive in\nthe flag naming.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a482f38c5aafeb3576079a38a5b21b46619f3d2",
      "tree": "6946791cf82545e1a2bd0baa8e70a9d7ec17ee68",
      "parents": [
        "682076ae1de0aba9c2da509f7b19dc03e30a6e1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 23 18:28:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 23 19:37:46 2009 +0200"
      },
      "message": "perf_counter: Fix userspace build\n\nrecent userspace (F11) seems to already include the\nlinux/unistd.h bits which means we cannot include the version\nin the kernel sources due to the header guards being the same.\n\nEnsure we include the kernel version first.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c20090523163012.739756497@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58d7e993b16b62d30f8ef27757614056fe4def11",
      "tree": "a469295442ce5689b85581c84b24d1a9b06fc59c",
      "parents": [
        "251e8e3c7235f5944805a64f24c79fc4696793f1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 11:03:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 15 12:09:54 2009 +0200"
      },
      "message": "perf stat: handle Ctrl-C\n\nBefore this change, if a long-running perf stat workload was Ctrl-C-ed,\nthe utility exited without displaying statistics.\n\nAfter the change, the Ctrl-C gets propagated into the workload (and\ncauses its early exit there), but perf stat itself will still continue\nto run and will display counter results.\n\nThis is useful to run open-ended workloads, let them run for\na while, then Ctrl-C them to get the stats.\n\n[ Impact: extend perf stat with new functionality ]\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f15b18d0755b3ee4b29991fc2fde535ee41df53c",
      "tree": "429e665da030d7872b94d438e1ca81c78598afeb",
      "parents": [
        "f370e1e2f195ec1e6420e26fc83e0319595db578"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 09 10:04:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 09 10:04:22 2009 +0200"
      },
      "message": "perf_counter tools: remove debug code from builtin-stat.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16c8a10932aef971292c9570eb5f60b5d4e83ed2",
      "tree": "ee9f6860cad353bb7a5219468ffdc4e4fc700792",
      "parents": [
        "2023b359214bbc5bad31571cf50d7fb83b535c0a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 05 17:50:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 05 20:18:33 2009 +0200"
      },
      "message": "perf_counter: tools: update the tools to support process and inherited counters\n\n\"perf record\":\n - per task counter\n - inherit switch\n - nmi switch\n\n\"perf report\":\n - userspace/kernel filter\n\n\"perf stat\":\n - userspace/kernel filter\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20090505155437.389163017@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6eda5838bc5771578986429cde4a0870e1e5f5e1",
      "tree": "94b77643feda0d312bcd4c5b70fea8a268ef2f81",
      "parents": [
        "3666932bf2212a8fa77e344c5d946e86787bdbbe"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 01 18:29:57 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 01 18:38:00 2009 +0200"
      },
      "message": "perfcounter tools: move common defines ... to local header file\n\nNo change, move of duplicated stuff only.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e0202f56a82cd1170c6f1c520db669431cf26ddc",
      "tree": "65584255e679d9c612d9177eb0ec99345bb86925",
      "parents": [
        "e5791a808ae91a9e7e1b65ea9b8de0f96a043d88"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 01 16:51:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 01 16:51:44 2009 +0200"
      },
      "message": "perf_counter tools: fix x86 syscall numbers\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66cf782996f3d57d3cc199f0a2d47a54e2aa5991",
      "tree": "fdcb2899f1ac32b04a1308ca29917043e326b676",
      "parents": [
        "aac3f3c2c41ce49a6dbb98d9145265c00a964dc2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 30 13:53:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 30 13:53:33 2009 +0200"
      },
      "message": "perf_counter tools: perf stat: make -l default-on\n\nTurn on scaling display by default - this is less confusing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1130b0296184bc21806225fd06d533515a99d2db",
      "tree": "379684c9567726c5b7d241287045735cf637fade",
      "parents": [
        "148be2c15d4a866fbc7a8f55342e4fd4de73be61"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 28 14:56:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 28 16:27:41 2009 +0200"
      },
      "message": "perf_counter tools: fix Documentation/perf_counter build error\n\nMike Galbraith reported:\n\n\u003e marge:..Documentation/perf_counter # make\n\u003e     CC builtin-stat.o\n\u003e In file included from builtin-stat.c:71:\n\u003e /usr/include/ctype.h:102: error: expected expression before ‘]’ token\n\nRemove the ctype.h include.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "148be2c15d4a866fbc7a8f55342e4fd4de73be61",
      "tree": "a99f8c85552166f187a233ce29eb442f27fe620d",
      "parents": [
        "f1f9b3b1795da8625e0e6096813c9d18d4a344ce"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 27 08:02:14 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 27 09:05:08 2009 +0200"
      },
      "message": "perf_counter tools: move helper library to util/*\n\nClean up the top level directory a bit by moving all the helper libraries\nto util/*.[ch].\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddcacfa0febff6454dba6cea1931f3020a9f6c24",
      "tree": "0921fe8644ef904ad154640a584830d552a02bee",
      "parents": [
        "6f06ccbc86f8a02aa32271263249657ce484eb25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 15:37:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 20 17:36:48 2009 +0200"
      },
      "message": "perf_counter tools: separate kerneltop into \u0027perf top\u0027 and \u0027perf stat\u0027\n\nLets use the Git framework of built-in commands.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
