)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
