)]}'
{
  "log": [
    {
      "commit": "aaf045f72335653b24784d6042be8e4aee114403",
      "tree": "55c11335e23759e56e0a5ae2daf1c31bb9769662",
      "parents": [
        "668fe01f1cea2154da479dd12946eeb53413396e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 06 00:47:56 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 25 13:28:48 2012 +0200"
      },
      "message": "perf: Have perf use the new libtraceevent.a library\n\nThe event parsing code in perf was originally copied from trace-cmd\nbut never was kept up-to-date with the changes that was done there.\nThe trace-cmd libtraceevent.a code is much more mature than what is\ncurrently in perf.\n\nThis updates the code to use wrappers to handle the calls to the\nnew event parsing code. The new code requires a handle to be pass\naround, which removes the global event variables and allows\nmore than one event structure to be read from different files\n(and different machines).\n\nBut perf still has the old global events and the code throughout\nperf does not yet have a nice way to pass around a handle.\nA global \u0027pevent\u0027 has been made for perf and the old calls have\nbeen created as wrappers to the new event parsing code that uses\nthe global pevent.\n\nWith this change, perf can later incorporate the pevent handle into\nthe perf structures and allow more than one file to be read and\ncompared, that contains different events.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "7b78f13603c6fcb64e020a0bbe31a651ea2b657b",
      "tree": "937cf80df31a6fe5a8f233bf30242447e3e57a56",
      "parents": [
        "7b8e6da46b921d30ac1553cac56d8fb74f0b431d"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Wed Apr 04 10:45:27 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 04 11:59:00 2012 +0200"
      },
      "message": "perf tools: Fix getrusage() related build failure on glibc trunk\n\nOn a system running glibc trunk perf doesn\u0027t build:\n\n    CC builtin-sched.o\nbuiltin-sched.c: In function ‘get_cpu_usage_nsec_parent’: builtin-sched.c:399:16: error: storage size of ‘ru’ isn’t known builtin-sched.c:403:2: error: implicit declaration of function ‘getrusage’ [-Werror\u003dimplicit-function-declaration]\n    [...]\n\nFix it by including sys/resource.h.\n\nSigned-off-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120404084527.GA294@x4\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "efad14150a0b4429f37da7245001a8096ef7ee38",
      "tree": "61c41a83384266dca00a2a4c88f43ebf4bdf5b5e",
      "parents": [
        "1b5495043d5bc058def21f9b66fd8feaa794eb44"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Dec 07 10:02:54 2011 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 23 17:01:03 2011 -0200"
      },
      "message": "perf report: Accept fifos as input file\n\nThe default input file for perf report is not handled the same way as\nperf record does it for its output file. This leads to unexpected\nbehavior of perf report, etc. E.g.:\n\n # perf record -a -e cpu-cycles sleep 2 | perf report | cat\n failed to open perf.data: No such file or directory  (try \u0027perf record\u0027 first)\n\nWhile perf record writes to a fifo, perf report expects perf.data to be\nread. This patch changes this to accept fifos as input file.\n\nApplies to the following commands:\n\n perf annotate\n perf buildid-list\n perf evlist\n perf kmem\n perf lock\n perf report\n perf sched\n perf script\n perf timechart\n\nAlso fixes char const* -\u003e const char* type declaration for filename\nstrings.\n\nv2:\n* Prevent potential null pointer access to input_name in\n  builtin-report.c. Needed due to removal of patch \"perf report: Setup\n  browser if stdout is a pipe\"\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/r/1323248577-11268-5-git-send-email-robert.richter@amd.com\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "ee29be625bd7b115d45eba4b0526ff3e24bf3ca0",
      "tree": "1ef1189e0fe02511642e5f74f463d888dfa34bec",
      "parents": [
        "e7984b7bee2fca8f582f5bc2bf1e6c93420a5dd5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 17:57:40 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 17:57:40 2011 -0200"
      },
      "message": "perf tools: Save some loops using perf_evlist__id2evsel\n\nSince we already ask for PERF_SAMPLE_ID and use it to quickly find the\nassociated evsel, add handler func + data to struct perf_evsel to avoid\nusing chains of if(strcmp(event_name)) and also to avoid all the linear\nlist searches via trace_event_find.\n\nTo demonstrate the technique convert \u0027perf sched\u0027 to it:\n\n # perf sched record sleep 5m\n\nAnd then:\n\n Performance counter stats for \u0027/tmp/oldperf sched lat\u0027:\n\n        646.929438 task-clock                #    0.999 CPUs utilized\n                 9 context-switches          #    0.000 M/sec\n                 0 CPU-migrations            #    0.000 M/sec\n            20,901 page-faults               #    0.032 M/sec\n     1,290,144,450 cycles                    #    1.994 GHz\n   \u003cnot supported\u003e stalled-cycles-frontend\n   \u003cnot supported\u003e stalled-cycles-backend\n     1,606,158,439 instructions              #    1.24  insns per cycle\n       339,088,395 branches                  #  524.151 M/sec\n         4,550,735 branch-misses             #    1.34% of all branches\n\n       0.647524759 seconds time elapsed\n\nVersus:\n\n Performance counter stats for \u0027perf sched lat\u0027:\n\n        473.564691 task-clock                #    0.999 CPUs utilized\n                 9 context-switches          #    0.000 M/sec\n                 0 CPU-migrations            #    0.000 M/sec\n            20,903 page-faults               #    0.044 M/sec\n       944,367,984 cycles                    #    1.994 GHz\n   \u003cnot supported\u003e stalled-cycles-frontend\n   \u003cnot supported\u003e stalled-cycles-backend\n     1,442,385,571 instructions              #    1.53  insns per cycle\n       308,383,106 branches                  #  651.195 M/sec\n         4,481,784 branch-misses             #    1.45% of all branches\n\n       0.474215751 seconds time elapsed\n\n[root@emilia ~]#\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-1kbzpl74lwi6lavpqke2u2p3@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "45694aa7702bc44d538a3bcb51bb2bb96cf190c0",
      "tree": "81bc1f449f55984556d89b63c461dcf181dc97e5",
      "parents": [
        "743eb868657bdb1b26c7b24077ca21c67c82c777"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 08:30:20 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 10:39:28 2011 -0200"
      },
      "message": "perf tools: Rename perf_event_ops to perf_tool\n\nTo better reflect that it became the base class for all tools, that must\nbe in each tool struct and where common stuff will be put.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-qgpc4msetqlwr8y2k7537cxe@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "743eb868657bdb1b26c7b24077ca21c67c82c777",
      "tree": "4803b557725213043ccd5d3f83d2eec796a49f69",
      "parents": [
        "d20deb64e0490ee9442b5181bc08a62d2cadcb90"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 07:56:39 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 10:39:12 2011 -0200"
      },
      "message": "perf tools: Resolve machine earlier and pass it to perf_event_ops\n\nReducing the exposure of perf_session further, so that we can use the\nclasses in cases where no perf.data file is created.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-stua66dcscsezzrcdugvbmvd@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "d20deb64e0490ee9442b5181bc08a62d2cadcb90",
      "tree": "afdb3f6fc9abbce9d0a96b7049d1f8121178a356",
      "parents": [
        "7009cc34b964939815160d7de64cf0215cdbf8bb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Nov 25 08:19:45 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 10:38:56 2011 -0200"
      },
      "message": "perf tools: Pass tool context in the the perf_event_ops functions\n\nSo that we don\u0027t need to have that many globals.\n\nNext steps will remove the \u0027session\u0027 pointer, that in most cases is\nnot needed.\n\nThen we can rename perf_event_ops to \u0027perf_tool\u0027 that better describes\nthis class hierarchy.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-wp4djox7x6w1i2bab1pt4xxp@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "e3f42609628a20da92ecbc2d81053cc82c90a071",
      "tree": "5fce687fcc9fb9b3060c5bb129936ac725da0a19",
      "parents": [
        "246d4ce8107ea16521384c8b2a8fcff354ef2b7c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Nov 16 17:02:54 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 10:38:14 2011 -0200"
      },
      "message": "perf tools: Use evsel-\u003eattr.sample_type instead of session-\u003esample_type\n\nEventually session-\u003esample_type will go away as we want to support\nmultiple sample types per session, so use it from the evsel which is a\nstep in that direction.\n\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-0vwdpjcwbjezw459lw5n3ew1@git.kernel.org\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "580cabed88ebc631e740b16010f2fa6ba882652f",
      "tree": "4a62164f6936927bbc1b41681dff3cf7bb2638be",
      "parents": [
        "4c09bafae37d870ab8efc50faeeb4855cb55b5b7"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Aug 09 14:46:51 2011 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 13:32:12 2011 -0300"
      },
      "message": "perf sched: Usage leftover from trace -\u003e script rename\n\nThe \u0027perf sched\u0027 command usage still showing \u0027trace\u0027 command instead of\nthe \u0027script\u0027 command.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110809124651.GD2056@jolsa.brq.redhat.com\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "4c09bafae37d870ab8efc50faeeb4855cb55b5b7",
      "tree": "9e750321369285dec47289fe4af8acd221140c0d",
      "parents": [
        "069e3725dd9be3b759a98e8c80ac5fc38b392b23"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Aug 08 23:03:34 2011 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Aug 09 13:31:38 2011 -0300"
      },
      "message": "perf sched: Do not delete session object prematurely\n\nThe session object is released prematurely when processing events for\nlatency command. The session\u0027s thread objects are used within the\noutput_lat_thread function.\n\nRunnning following commands:\n\n # perf sched record\n # perf sched latency\n\nthe latter displays incorrect data and might cause access violation.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1312837414-3819-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9e69c210822c4035708a6111567c96364ca244d5",
      "tree": "3bae4b7f4309ec18bf4628b81cf85bb1570f6a31",
      "parents": [
        "880f57318450dbead6a03f9e31a1468924d6dd88"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 15 15:44:01 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Mar 23 19:28:58 2011 -0300"
      },
      "message": "perf session: Pass evsel in event_ops-\u003esample()\n\nResolving the sample-\u003eid to an evsel since the most advanced tools,\nreport and annotate, and the others will too when they evolve to\nproperly support multi-event perf.data files.\n\nGood also because it does an extra validation, checking that the ID is\nvalid when present. When that is not the case, the overhead is just a\nbranch + function call (perf_evlist__id2evsel).\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "fb7d0b3cefb80a105f7fd26bbc62e0cbf9192822",
      "tree": "1d5ce57f5fa73c593e10a321edb02498bea834b3",
      "parents": [
        "1ff511e35ed87cc2ebade9e678e4a2fe39b6f9c5"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@mcmartin.ca",
        "time": "Mon Jan 24 11:13:04 2011 -0500"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 07 12:41:41 2011 -0200"
      },
      "message": "perf tool: Fix gcc 4.6.0 issues\n\nGCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf\ndue to the -Werror\u003dunused-but-set-variable flag.\n\nI\u0027ve gone through and annotated some of the assignments that had side\neffects (ie: return value from a function) with the __used annotation,\nand in some cases, just removed unused code.\n\nIn a few cases, we were assigning something useful, but not using it in\nlater parts of the function.\n\nkyle@dreadnought:~/src% gcc --version\ngcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3)\n\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nLKML-Reference: \u003c20110124161304.GK27353@bombadil.infradead.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\n[ committer note: Fixed up the annotation fixes, as that code moved recently ]\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8115d60c323dd9931b95221c0a392aeddc1d6ef3",
      "tree": "13e75d71c5163c78efc9d8ab33988cc6c7be74a1",
      "parents": [
        "8d50e5b4171a69cf48ca94a1e7c14033d0b4771d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 14:01:45 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 16:25:37 2011 -0200"
      },
      "message": "perf tools: Kill event_t typedef, use \u0027union perf_event\u0027 instead\n\nAnd move the event_t methods to the perf_event__ too.\n\nNo code changes, just namespace consistency.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "8d50e5b4171a69cf48ca94a1e7c14033d0b4771d",
      "tree": "6ebf659f92f0770917c7f47c24449ebfe048ce61",
      "parents": [
        "93fc64f14472ae24fd640bf3834a178f59142842"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 13:02:00 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 29 16:25:20 2011 -0200"
      },
      "message": "perf tools: Rename \u0027struct sample_data\u0027 to \u0027struct perf_sample\u0027\n\nMaking the namespace more uniform.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9486aa38771661e96fbb51c549b9901b5df609d8",
      "tree": "72cecbff0cb5124c960feeec3a6ac1fff75c649a",
      "parents": [
        "57b84e53171ce672683faf1cab2e660965a6bdaf"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 20:37:02 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jan 22 23:41:57 2011 -0200"
      },
      "message": "perf tools: Fix 64 bit integer format strings\n\nUsing %L[uxd] has issues in some architectures, like on ppc64.  Fix it\nby making our 64 bit integers typedefs of stdint.h types and using\nPRI[ux]64 like, for instance, git does.\n\nReported by Denis Kirjanov that provided a patch for one case, I went\nand changed all cases.\n\nReported-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nTested-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nLKML-Reference: \u003c20110120093246.GA8031@hera.kernel.org\u003e\nCc: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Pingtian Han \u003cphan@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9710118bd4e7f3406865171cb9b9c94547c1c2f9",
      "tree": "8757556161f0d91c599c8039d906d7b9cbc42c8a",
      "parents": [
        "4ad9f594d7199c99f6b1b3ef88c64bd5920a4592"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Jan 12 10:29:05 2011 +0100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jan 13 11:25:49 2011 -0200"
      },
      "message": "perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n\nLooks to me like the :r modifier is not supported anymore, so remove it from\nthe list of events.\n\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nLKML-Reference: \u003cAANLkTim\u003djawJyBj0iFd0r4-LCKzvjFW+NddzJMD5GUB9@mail.gmail.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "12f7e0364375ba1ba55abcc5ac082b68fb526c80",
      "tree": "464bf05ab148fcafb1aba919261c1d1467919abb",
      "parents": [
        "aa7bc7ef73efc46d7c3a0e185eefaf85744aec98"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Mon Jan 10 14:14:23 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 10 14:16:00 2011 -0200"
      },
      "message": "perf sched: Use PTHREAD_STACK_MIN to avoid pthread_attr_setstacksize() fail\n\non ppc64:\n/usr/include/bits/local_lim.h:#define PTHREAD_STACK_MIN\t131072\n\ntherefore following set of commands:\n\ngives:\nperf.2.6.37test: builtin-sched.c:493: create_tasks: Assertion `!(err)\u0027 failed.\n\nSo make sure we do not set stack size lower than PTHREAD_STACK_MIN.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110110160417.GB2685@psychotron.brq.redhat.com\u003e\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "e462dc553ea5e09d4713e7c35a11ed331dc6f369",
      "tree": "a610558337fe270cc778643e41a209d4d8bca577",
      "parents": [
        "4385428a477559b26736cc3c80d8b68f31126c71"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 10 10:48:47 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 10 10:48:47 2011 -0200"
      },
      "message": "perf sched: Fix allocation result check\n\nBug introduced in ce47dc56.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Chris Samuel \u003cchris@csamuel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "21ef97f05a7da5bc23b26cb34d6746f83ca9bf20",
      "tree": "c47c09c178f7929f01dcb7b302ceed21f3758ded",
      "parents": [
        "7639dae0ca11038286bbbcda05f2bef601c1eb8d"
      ],
      "author": {
        "name": "Ian Munsie",
        "email": "imunsie@au1.ibm.com",
        "time": "Fri Dec 10 14:09:16 2010 +1100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 21 20:17:51 2010 -0200"
      },
      "message": "perf session: Fallback to unordered processing if no sample_id_all\n\nIf we are running the new perf on an old kernel without support for\nsample_id_all, we should fall back to the old unordered processing of\nevents. If we didn\u0027t than we would *always* process events without\ntimestamps out of order, whether or not we hit a reordering race. In\nother words, instead of there being a chance of not attributing samples\ncorrectly, we would guarantee that samples would not be attributed.\n\nWhile processing all events without timestamps before events with\ntimestamps may seem like an intuitive solution, it falls down as\nPERF_RECORD_EXIT events would also be processed before any samples.\nEven with a workaround for that case, samples before/after an exec would\nnot be attributed correctly.\n\nThis patch allows commands to indicate whether they need to fall back to\nunordered processing, so that commands that do not care about timestamps\non every event will not be affected. If we do fallback, this will print\nout a warning if report -D was invoked.\n\nThis patch adds the test in perf_session__new so that we only need to\ntest once per session. Commands that do not use an event_ops (such as\nrecord and top) can simply pass NULL in it\u0027s place.\n\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1291951882-sup-6069@au1.ibm.com\u003e\nSigned-off-by: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "ce47dc56a2241dc035160a85bc5e34283cdd622c",
      "tree": "d9404df9d3ca0ddacdd8faae791ece27206dece4",
      "parents": [
        "965bb6beaf70862d3846e330ea7a14996d82c499"
      ],
      "author": {
        "name": "Chris Samuel",
        "email": "chris@csamuel.org",
        "time": "Sat Nov 13 13:35:06 2010 +1100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Dec 06 12:52:35 2010 -0200"
      },
      "message": "perf tools: Catch a few uncheck calloc/malloc\u0027s\n\nThere were a few stray calloc()\u0027s and malloc()\u0027s which were not having\ntheir return values checked for success.\n\nAs the calling code either already coped with failure or didn\u0027t actually\ncare we just return -ENOMEM at that point.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Chris Samuel \u003cchris@csamuel.org\u003e\nLKML-Reference: \u003c4CDDF95A.1050400@csamuel.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "640c03ce837fe8d4b56342aba376ea0da3960459",
      "tree": "e954290ccacf032ab4d9052eac01710fda1b7fab",
      "parents": [
        "c980d1091810df13f21aabbce545fd98f545bbf7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Dec 02 14:10:21 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Dec 04 23:05:19 2010 -0200"
      },
      "message": "perf session: Parse sample earlier\n\nAt perf_session__process_event, so that we reduce the number of lines in eache\ntool sample processing routine that now receives a sample_data pointer already\nparsed.\n\nThis will also be useful in the next patch, where we\u0027ll allow sample the\nidentity fields in MMAP, FORK, EXIT, etc, when it will be possible to see (cpu,\ntimestamp) just after before every event.\n\nAlso validate callchains in perf_session__process_event, i.e. as early as\npossible, and keep a counter of the number of events discarded due to invalid\ncallchains, warning the user about it if it happens.\n\nThere is an assumption that was kept that all events have the same sample_type,\nthat will be dealt with in the future, when this preexisting limitation will be\nremoved.\n\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003c1291318772-30880-4-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "133dc4c39c57eeef2577ca5b4ed24765b7a78ce2",
      "tree": "88309b8336fccfd8fea52a5c1e107d6ca2060a39",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 16 18:45:39 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 16 19:37:44 2010 +0100"
      },
      "message": "perf: Rename \u0027perf trace\u0027 to \u0027perf script\u0027\n\nFree the perf trace name space and rename the trace to \u0027script\u0027 which is a\nbetter match for the scripting engine.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "af64865ba6825e10fe62a3105fea5cadffeb52c6",
      "tree": "ab3f0248fdf2d2b14794ddb19bb5202073e21861",
      "parents": [
        "13eb04fdbeb9d21dfe4696630daefe18ef6a1a84"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 01 00:03:40 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 01 00:10:32 2010 +0200"
      },
      "message": "perf: Use event__process_task from perf sched\n\nperf sched uses event__process_comm(), which means it can resolve\ncomms from:\n\n- tasks that have exec\u0027ed (kernel comm events)\n- tasks that were running when perf record started the actual\n  recording (synthetized comm events)\n\nBut perf sched can\u0027t resolve the pids of tasks that were created\nafter the recording started.\n\nTo solve this, we need to inherit the comms on fork events using\nevent__process_task().\n\nThis fixes various unresolved pids in perf sched, easily visible\nwith:\n\tperf sched record perf bench sched messaging\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\n"
    },
    {
      "commit": "edb7c60e27c1baff38d82440dc52eaffac9a45f4",
      "tree": "fc49d1f862fd5f1393c8b6245d571d97b208d91a",
      "parents": [
        "8035458fbb567ae138c77a5f710050107c6a7066"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 17 16:22:41 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 17 16:22:41 2010 -0300"
      },
      "message": "perf options: Type check all the remaining OPT_ variants\n\nOPT_SET_INT was renamed to OPT_SET_UINT since the only use in these\ntools is to set something that has an enum type, that is builtin\ncompatible with unsigned int.\n\nSeveral string constifications were done to make OPT_STRING require a\nconst char * type.\n\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "1967936d688c475b85d34d84e09858cf514c893c",
      "tree": "e9788fe79c7d2af4ad1fab0d9cfe4b3822f468ff",
      "parents": [
        "c100edbee8dbf033ec4095a976a74c1c75c9fc1d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 17 15:39:16 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 17 15:43:38 2010 -0300"
      },
      "message": "perf options: Check v type in OPT_U?INTEGER\n\nTo avoid problems like the one fixed by Stephane Eranian in 3de29ca, now\nwe\u0027ll got this instead:\n\n\tbench/sched-messaging.c:259: error: negative width in bit-field ‘\u003canonymous\u003e’\n\tbench/sched-messaging.c:261: error: negative width in bit-field ‘\u003canonymous\u003e’\n\nWhich is rather cryptic, but is how BUILD_BUG_ON_ZERO works, so kernel\nhackers should be already used to this.\n\nWith it in place found some problems, fixed by changing the affected\nvariables to sensible types or changed some OPT_INTEGER to OPT_UINTEGER.\n\nNext csets will go thru converting each of the remaining OPT_ so that\nreview can be made easier by grouping changes per type per patch.\n\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "cee75ac7ecc27084accdb9d9d6fde65a09f047ae",
      "tree": "686208e18b1ab5356658980ee92c96486384412e",
      "parents": [
        "c8446b9bdabcb0caa61bb341bd73c58f7104b503"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 14 13:16:55 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 14 13:16:55 2010 -0300"
      },
      "message": "perf hist: Clarify events_stats fields usage\n\nThe events_stats.total field is too generic, rename it to .total_period,\nand also add a comment explaining that it is the sum of all the .period\nfields in samples, that is needed because we use auto-freq to avoid\nsampling artifacts.\n\nDitto for events_stats.lost, that is the sum of all lost_event.lost\nfields, i.e. the number of events the kernel dropped.\n\nLooking at the users, builtin-sched.c can make use of these fields and\nstop doing it again.\n\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "454c407ec17a0c63e4023ac0877d687945a7df4a",
      "tree": "1271299a59a89419c0dd4dcbf29b4492b63555ca",
      "parents": [
        "789688faef5b3ba78065beaf2f3d6f1c839f74a3"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Sat May 01 01:41:20 2010 -0500"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 02 13:36:56 2010 -0300"
      },
      "message": "perf: add perf-inject builtin\n\nCurrently, perf \u0027live mode\u0027 writes build-ids at the end of the\nsession, which isn\u0027t actually useful for processing live mode events.\n\nWhat would be better would be to have the build-ids sent before any of\nthe samples that reference them, which can be done by processing the\nevent stream and retrieving the build-ids on the first hit.  Doing\nthat in perf-record itself, however, is off-limits.\n\nThis patch introduces perf-inject, which does the same job while\nleaving perf-record untouched.  Normal mode perf still records the\nbuild-ids at the end of the session as it should, but for live mode,\nperf-inject can be injected in between the record and report steps\ne.g.:\n\nperf record -o - ./hackbench 10 | perf inject -v -b | perf report -v -i -\n\nperf-inject reads a perf-record event stream and repipes it to stdout.\nAt any point the processing code can inject other events into the\nevent stream - in this case build-ids (-b option) are read and\ninjected as needed into the event stream.\n\nBuild-ids are just the first user of perf-inject - potentially\nanything that needs userspace processing to augment the trace stream\nwith additional information could make use of this facility.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1272696080-16435-3-git-send-email-tzanussi@gmail.com\u003e\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "a64eae703b390185abe1d15fa932b48f04fa7fbb",
      "tree": "f5a38da96d2b49f202064876a970a02729462aeb",
      "parents": [
        "c61e52ee705f938596d307625dce00cc4345aaf0"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 24 00:29:40 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 24 03:50:42 2010 +0200"
      },
      "message": "perf: Use generic sample reordering in perf sched\n\nUse the new generic sample events reordering from perf sched,\nthis drops the need of multiplexing the buffers on record time,\nimproving the scalability of perf sched.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.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": "eed05fe70f96b04ebeb218b07ae8898e605f9b23",
      "tree": "b6cfaaca79ac4dbceaf9efbd3ae5549be033182d",
      "parents": [
        "c0ed55d2e4f600335193612725c0d7c8211a7a4a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Apr 05 12:53:45 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 08 11:34:26 2010 -0300"
      },
      "message": "perf tools: Reorganize some structs to save space\n\nUsing \u0027pahole --packable\u0027 I found some structs that could be reorganized\nto eliminate alignment holes, in some cases getting them to be cacheline\nmultiples.\n\n[acme@doppio linux-2.6-tip]$ codiff perf.old ~/bin/perf\nbuiltin-annotate.c:\n  struct perf_session    |   -8\n  struct perf_header     |   -8\n 2 structs changed\n\nbuiltin-diff.c:\n  struct sample_data         |   -8\n 1 struct changed\n  diff__process_sample_event |   -8\n 1 function changed, 8 bytes removed, diff: -8\n\nbuiltin-sched.c:\n  struct sched_atom      |   -8\n 1 struct changed\n\nbuiltin-timechart.c:\n  struct per_pid         |   -8\n 1 struct changed\n  cmd_timechart          |  -16\n 1 function changed, 16 bytes removed, diff: -16\n\nbuiltin-probe.c:\n  struct perf_probe_point |   -8\n  struct perf_probe_event |   -8\n 2 structs changed\n  opt_add_probe_event     |   -3\n 1 function changed, 3 bytes removed, diff: -3\n\nutil/probe-finder.c:\n  struct probe_finder      |   -8\n 1 struct changed\n  find_kprobe_trace_events |  -16\n 1 function changed, 16 bytes removed, diff: -16\n\n/home/acme/bin/perf:\n 4 functions changed, 43 bytes removed, diff: -43\n[acme@doppio linux-2.6-tip]$\n\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: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "0d755034dbd01e240eadf2d31f4f75d3088ccd21",
      "tree": "922b509d4bf2964ea369c8586f9f2931065e0191",
      "parents": [
        "66aeb6d5cb701aedd508187e08612bfd1e108e2e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Jan 14 12:23:09 2010 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 16 10:58:45 2010 +0100"
      },
      "message": "perf tools: Don\u0027t cast RIP to pointers\n\nSince they can come from another architecture with bigger\npointers, i.e. processing a 64-bit perf.data on a 32-bit arch.\n\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: \u003c1263478990-8200-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55aa640f54280da25046acd2075842d464f451e6",
      "tree": "ab9f390de0a7315bbcac3dc7105673d3eeb8c521",
      "parents": [
        "f7d87444e6ee6f4a19634e5412664c1c529a2370"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 27 21:37:05 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 09:03:35 2009 +0100"
      },
      "message": "perf session: Remove redundant prefix \u0026 suffix from perf_event_ops\n\nSince now all that we have are perf event handlers, leave just\nthe name of the event.\n\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: \u003c1261957026-15580-9-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d549c7690190d9739005e19604faad6da4b802ac",
      "tree": "1a03376ecc41ecd9495298ed3ad34f72da7ecea0",
      "parents": [
        "27295592c22e71bbd38110c302da8dbb43912a60"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 27 21:37:02 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 09:03:34 2009 +0100"
      },
      "message": "perf session: Remove sample_type_check from event_ops\n\nThis is really something tools need to do before asking for the\nevents to be processed, leaving perf_session__process_events to\ndo just that, process events.\n\nAlso add a msg parameter to perf_session__has_traces() so that\nthe right message can be printed, fixing a regression added by\nme in the previous cset (right timechart message) and also\nfixing \u0027perf kmem\u0027, that was not asking if \u0027perf kmem record\u0027\nwas ran.\n\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: \u003c1261957026-15580-6-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27295592c22e71bbd38110c302da8dbb43912a60",
      "tree": "01442f9b788e3b0a01bc29e22a0e799e1c45c91d",
      "parents": [
        "4a58e61161074776aa34187ea369414ce4852394"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 27 21:37:01 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 09:03:33 2009 +0100"
      },
      "message": "perf session: Share the common trace sample_check routine as perf_session__has_traces\n\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: \u003c1261957026-15580-5-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75be6cf48738aec68aac49b428423569492cfba3",
      "tree": "d7f5ceb028361e8b725ba6f3b8219e66c7b89790",
      "parents": [
        "7ef17aafc98406d01ebbf7fe98ef1332b70d20bb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 15 20:04:39 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 08:53:48 2009 +0100"
      },
      "message": "perf symbols: Make symbol_conf global\n\nThis simplifies a lot of functions, less stuff to be done by\ntool writers.\n\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: \u003c1260914682-29652-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c019879bcc5692ec9267c1cedad91f1794d0b693",
      "tree": "ec499400b1ee0b1d93e961cc67b9dead9cd8c9a9",
      "parents": [
        "a328626b61aeda1a7d00a80c475c76ca1b815e0d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Dec 14 14:23:00 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 17:34:56 2009 +0100"
      },
      "message": "perf session: Adopt the sample_type variable\n\nAll tools had copies, and perf diff would have to specify a\nsample_type_check method just for copying it.\n\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: \u003c1260807780-19377-2-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4e4f06e4c8f17ea96f7dd76251cab99511026401",
      "tree": "18b7f83b664939be0a9bde8e43daf9db8ca7fccc",
      "parents": [
        "b9bf089212d95746ce66482bcdbc7e77a0651088"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Dec 14 13:10:39 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:18 2009 +0100"
      },
      "message": "perf session: Move the hist_entries rb tree to perf_session\n\nAs we\u0027ll need to sort multiple times for multiple perf sessions,\nso that we can then do a diff.\n\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: \u003c1260803439-16783-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4aa65636411ccb12f006a6ad593930655c445ff6",
      "tree": "0f494705a2a7631070a5372bb53f873684b001c2",
      "parents": [
        "b3165f414416a717f72a376720564012af5a2e01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 13 19:50:29 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:17 2009 +0100"
      },
      "message": "perf session: Move kmaps to perf_session\n\nThere is still some more work to do to disentangle map creation\nfrom DSO loading, but this happens only for the kernel, and for\nthe early adopters of perf diff, where this disentanglement\nmatters most, we\u0027ll be testing different kernels, so no problem\nhere.\n\nFurther clarification: right now we create the kernel maps for\nthe various modules and discontiguous kernel text maps when\nloading the DSO, we should do it as a two step process, first\ncreating the maps, for multiple mappings with the same DSO\nstore, then doing the dso load just once, for the first hit on\none of the maps sharing this DSO backing store.\n\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: \u003c1260741029-4430-6-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b3165f414416a717f72a376720564012af5a2e01",
      "tree": "b066e4ae00b7d4bdb7386f4054e6e3ace0b976c3",
      "parents": [
        "ec913369733923dbfd6bdff5953a918107059701"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 13 19:50:28 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:16 2009 +0100"
      },
      "message": "perf session: Move the global threads list to perf_session\n\nSo that we can process two perf.data files.\n\nWe still need to add a O_MMAP mode for perf_session so that we\ncan do all the mmap stuff in it.\n\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: \u003c1260741029-4430-5-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec913369733923dbfd6bdff5953a918107059701",
      "tree": "4c4397f5de47bb1352bfed874919bb438b6e4816",
      "parents": [
        "13df45ca1c9a430d5f53862854070fcc324e015c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 13 19:50:27 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:16 2009 +0100"
      },
      "message": "perf session: Reduce the number of parms to perf_session__process_events\n\nBy having the cwd/cwdlen in the perf_session struct and\nfull_paths in perf_event_ops.\n\nNow its just a matter of passing the ops.\n\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: \u003c1260741029-4430-4-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13df45ca1c9a430d5f53862854070fcc324e015c",
      "tree": "d20c0bfe5d0caedb2f2dd1f0959255127a7e9a26",
      "parents": [
        "301a0b020210360c6e441c7765521248bc87d58e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 13 19:50:26 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:15 2009 +0100"
      },
      "message": "perf session: Register the idle thread in perf_session__process_events\n\nNo need for all tools to register it and then immediately call\nperf_session__process_events.\n\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: \u003c1260741029-4430-3-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "301a0b020210360c6e441c7765521248bc87d58e",
      "tree": "5321a8ab67584d0aac0e3df9a749df1b4206460b",
      "parents": [
        "d8f66248d6f25f7c935cc5307c43bf394db07272"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 13 19:50:25 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:15 2009 +0100"
      },
      "message": "perf session: Ditch register_perf_file_handler\n\nPass the event_ops to perf_session__process_events instead.\n\nAlso move the event_ops definition to session.h, starting to\nmove things around to their right place, trimming the many\nunneeded headers we have.\n\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: \u003c1260741029-4430-2-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8f66248d6f25f7c935cc5307c43bf394db07272",
      "tree": "f30b5512dd08e6a8713fa9fde158c75d57ce1d6b",
      "parents": [
        "2cd9046cc53dd2625e2cf5854d6cbb1ba61de914"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 13 19:50:24 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 14 16:57:13 2009 +0100"
      },
      "message": "perf session: Pass the perf_session to the event handling operations\n\nThey will need it to get the right threads list, etc.\n\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: \u003c1260741029-4430-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94c744b6c0c6c5802a85ebfebbec429ac5851f2b",
      "tree": "e34dcaca54f1d7752ab1e7974bb73f94ff3cf94c",
      "parents": [
        "ea08d8cbd162fe3756e3e2298efbe0b8b12f92d1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 11 21:24:02 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Dec 12 07:42:12 2009 +0100"
      },
      "message": "perf tools: Introduce perf_session class\n\nThat does all the initialization boilerplate, opening the file,\nreading the header, checking if it is valid, etc.\n\nAnd that will as well have the threads list, kmap (now) global\nvariable, etc, so that we can handle two (or more) perf.data files\ndescribing sessions to compare.\n\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: \u003c1260573842-19720-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3786310afe738070be31c439b8deeaeb69b9735d",
      "tree": "8148395e586322c13efb0f72ba3a0c6f15e9ad45",
      "parents": [
        "5660ce34241ab204bf78fbcaa5e09318c2748d37"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 09 21:40:08 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 08:30:26 2009 +0100"
      },
      "message": "perf sched: Add max delay time snapshot\n\nWhen we have a maximum latency reported for a task, we need a\nconvenient way to find the matching location to the raw traces\nor to perf sched map that shows where the task has been\neventually scheduled in. This gives a pointer to retrieve the\nevents that occured during this max latency.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nReviewed-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1260391208-6808-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0c9e72150c07b4a6766cd24a6f685ec2dc9c343",
      "tree": "1672baebe9ef71d560820e70e3f6865bc6aaaf5b",
      "parents": [
        "822a6961112f0c9101d3359d8524604c3309ee6c"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 17:51:30 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:59:12 2009 +0100"
      },
      "message": "perf sched: Fix for getting task\u0027s execution time\n\nIn current code, task\u0027s execute time is got by reading\n\u0027/proc/\u003cpid\u003e/sched\u0027 file, it\u0027s wrong if the task is created\nby pthread_create(), because every thread task has same pid.\n\nThis way also has two demerits:\n\n 1: \u0027perf sched replay\u0027 can\u0027t work if the kernel is not\n    compiled with the \u0027CONFIG_SCHED_DEBUG\u0027 option\n\n 2: perf tool should depend on proc file system\n\nSo, this patch uses PERF_COUNT_SW_TASK_CLOCK to get task\u0027s\nexecution time instead of reading /proc file.\n\nChangelog v2 -\u003e v3:\nuse PERF_COUNT_SW_TASK_CLOCK instead of rusage() as Ingo\u0027s\nsuggestion\n\nReported-by: Torok Edwin \u003cedwintorok@gmail.com\u003e\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Xiao Guangrong \u003cericxiao.gr@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F7322.80103@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f48f669d42e133db839af16656fd720107ef6742",
      "tree": "0fbc78abb79390ba22c40b48e1684f1f8b5badcb",
      "parents": [
        "d9541ed3241bb6c2b805d3ea0e87563cf2a0c5c3"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Dec 07 13:04:04 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 07 06:26:25 2009 +0100"
      },
      "message": "perf_event: Eliminate raw-\u003esize\n\nraw-\u003esize is not used, this patch just cleans it up.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B1C8CC4.4050007@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8bd9e0aedabcb47887712497bc386a06ddcbd12",
      "tree": "b8fbdb8987323a3b572554ebe00487d444abfec4",
      "parents": [
        "c0777c5aa835a97ccc77d82e55388940f0140a61"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Dec 07 12:06:29 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 07 06:26:24 2009 +0100"
      },
      "message": "perf_event: Fix raw event processing\n\nWe use \u0027data.raw_data\u0027 parameter to call process_raw_event(),\nbut data.raw_data buffer not include data size. it can make perf\ntool crash.\n\nThis bug was introduced by commit 180f95e29a (\"perf: Make common\nSAMPLE_EVENT parser\").\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B1C7F45.5080105@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0777c5aa835a97ccc77d82e55388940f0140a61",
      "tree": "c81079cba831d221c13ae8ce427fe329bff40e78",
      "parents": [
        "b9b1e1c71a9481c0c34ed5bed42f1bfa730fd39e"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Mon Dec 07 12:04:49 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 07 06:26:22 2009 +0100"
      },
      "message": "perf/sched: Fix \u0027perf sched trace\u0027\n\nIf we use \u0027perf sched trace\u0027, it will call symbol__init() again,\nand can lead to a perf tool crash:\n\n [root@localhost perf]# ./perf sched trace\n *** glibc detected *** ./perf: free(): invalid next size (normal): 0x094c1898 ***\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d Backtrace: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n /lib/libc.so.6[0xb7602404]\n /lib/libc.so.6(cfree+0x96)[0xb76043b6]\n ./perf[0x80730fe]\n ./perf[0x8074c97]\n ./perf[0x805eb59]\n ./perf[0x80536fd]\n ./perf[0x804b618]\n ./perf[0x804bdc3]\n /lib/libc.so.6(__libc_start_main+0xe5)[0xb75a9735]\n ./perf[0x804af81]\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d Memory map: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 08048000-08158000 r-xp 00000000 fe:00 556831     /home/eric/....\n 08158000-08168000 rw-p 0010f000 fe:00 556831     /home/eric/...\n 08168000-085fe000 rw-p 00000000 00:00 0\n 094ab000-094cc000 rw-p 00000000 00:00 0          [heap]\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4B1C7EE1.8030906@cn.fujitsu.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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "180f95e29aa8782c019caa64ede2a28d8ab62564",
      "tree": "eefd1631820b00992f4495cc8cdba66a9155ee6c",
      "parents": [
        "028c515253761084c6594bf9ac9b194b51d87065"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Dec 06 20:08:24 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 06 18:15:01 2009 +0100"
      },
      "message": "perf: Make common SAMPLE_EVENT parser\n\nCurrently, sample event data is parsed for each commands, and it\nis assuming that the data is not including other data. (E.g.\ntimechart, trace, etc. can\u0027t parse the event if it has\nPERF_SAMPLE_CALLCHAIN)\n\nSo, even if we record the superset data for multiple commands at\na time, commands can\u0027t parse. etc.\n\nTo fix it, this makes common sample event parser, and use it to\nparse sample event correctly. (PERF_SAMPLE_READ is unsupported\nfor now though, it seems to be not using.)\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\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: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c87hbs48imv.fsf@devron.myhome.or.jp\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62daacb51a2bf8480e6f6b3696b03f102fc15eb0",
      "tree": "5b9ed87005a5e59bcc95dd9a42e3d09d6481362d",
      "parents": [
        "1de8e24520ffdcf2a90c842eed937f59079a2abd"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Nov 27 16:29:22 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 27 20:22:01 2009 +0100"
      },
      "message": "perf tools: Reorganize event processing routines, lotsa dups killed\n\nWhile implementing event__preprocess_sample, that will do all of\nthe symbol lookup in one convenient function, I noticed that\nutil/process_event.[ch] were not being used at all, then started\nlooking if there were other functions that could be shared\nand...\n\nAll those functions really don\u0027t need to receive offset + head,\nthe only thing they did was common to all of them, so do it at\none place instead.\n\nStats about number of each type of event processed now is done\nin a central place.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: John Kacur \u003cjkacur@redhat.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: \u003c1259346563-12568-11-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "364794845cbc49e638b83d7ef739524291e1e961",
      "tree": "e720975b26d307d6566afb9305c9f6e44290a7da",
      "parents": [
        "b32d133aec5dc882cf783a293f393bfb3f4379e1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Nov 24 12:05:16 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 16:37:02 2009 +0100"
      },
      "message": "perf tools: Introduce zalloc() for the common calloc(1, N) case\n\nThis way we type less characters and it looks more like the\nkzalloc kernel counterpart.\n\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: \u003c1259071517-3242-3-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b32d133aec5dc882cf783a293f393bfb3f4379e1",
      "tree": "41fc56a4aaec8892a235ffd530b36278d147dc4e",
      "parents": [
        "7cc017edb9459193d3b581155a14029e4bef0c49"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Nov 24 12:05:15 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 16:37:02 2009 +0100"
      },
      "message": "perf symbols: Simplify symbol machinery setup\n\nAnd also express its configuration toggles via a struct.\n\nNow all one has to do is to call symbol__init(NULL) if the\ndefaults are OK, or pass a struct symbol_conf pointer with the\ndesired configuration.\n\nIf a tool uses kernel_maps__find_symbol() to look at the kernel\nand modules mappings for a symbol but didn\u0027t call symbol__init()\nfirst, that will generate a one time warning too, alerting the\nsubcommand developer that symbol__init() must be called.\n\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: \u003c1259071517-3242-2-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc612d8199089413719397c9d92e5823da578eac",
      "tree": "aec84294a839bc82b738326ed5f338e6ebc47a30",
      "parents": [
        "1b290d670ffa883b7e062177463a8efd00eaa2c1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 23 16:39:10 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 19:51:48 2009 +0100"
      },
      "message": "perf symbols: Look for vmlinux in more places\n\nNow that we can check the buildid to see if it really matches,\nthis can be done safely:\n\n  vmlinux\n  /boot/vmlinux\n  /boot/vmlinux-\u003cuts.release\u003e\n  /lib/modules/\u003cuts.release\u003e/build/vmlinux\n  /usr/lib/debug/lib/modules/%s/vmlinux\n\nMore can be added - if you know about distros that put the\nvmlinux somewhere else please let us know.\n\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: \u003c1259001550-8194-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00a192b395b0606ad0265243844b3cd68e73420a",
      "tree": "09149f550807c365f170c857b1021d66e5bb8b4b",
      "parents": [
        "afb7b4f08e274cecd8337f9444affa288a9cd4c1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Oct 30 16:28:24 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 16:52:11 2009 +0100"
      },
      "message": "perf tools: Simplify the symbol priv area mechanism\n\nBefore we were storing this in the DSO, but in fact this is a\nproperty of the \u0027symbol\u0027 class, not something that will vary\namong DSOs, so move it to a global variable and initialize it\nusing the existing symbol__init routine.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1256927305-4628-2-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6beba7adbe092e63dfe8d09fbd1e3ec140474a13",
      "tree": "d45a3347de224513c6d3d0e1061b78641f9aaf8a",
      "parents": [
        "802da5f2289bbe363acef084805195c11f453c48"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Oct 21 17:34:06 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 08:22:47 2009 +0200"
      },
      "message": "perf tools: Unify debug messages mechanisms\n\nWe were using eprintf in some places, that looks at a global\n\u0027verbose\u0027 level, and at other places passing a \u0027v\u0027 parameter to\nspecify the verbosity level, unify it by introducing\npr_{err,warning,debug,etc}, just like in the kernel.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1256153646-10097-1-git-send-email-acme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a116dd2797677cad48fee2f42267e3cb69f5502",
      "tree": "94bc08d8c234e26c8b8caa156815964e0a56f159",
      "parents": [
        "11018201b831e19304c0d639f105ad6c27e120b1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Oct 17 17:12:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 19 09:26:34 2009 +0200"
      },
      "message": "perf tools: Use kernel bitmap library\n\nUse the kernel bitmap library for internal perf tools uses.\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\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1255792354-11304-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f39cdf25bf77219676ec5360980ac40b1a7e144a",
      "tree": "2143a3653933efc5ffacea647ce8be72952b3a44",
      "parents": [
        "434a83c3fbb951908a3a52040f7f0e0b8ba00dd0"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat Oct 17 08:43:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 17 09:29:10 2009 +0200"
      },
      "message": "perf tools: Move dereference after NULL test\n\nIn each case, if the NULL test on thread is needed, then the\ndereference should be after the NULL test.\n\nA simplified version of the semantic match that detects this\nproblem is as follows (http://coccinelle.lip6.fr/):\n\n// \u003csmpl\u003e\n@match exists@\nexpression x, E;\nidentifier fld;\n@@\n\n* x-\u003efld\n  ... when !\u003d \\(x \u003d E\\|\u0026x\\)\n* x \u003d\u003d NULL\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nLKML-Reference: \u003cPine.LNX.4.64.0910170842500.9213@ask.diku.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b226f744d40b052ac126c4cb16c76f66e5185128",
      "tree": "e86f5c059dde241472689cbe2d55429cd15b2d56",
      "parents": [
        "d5b889f2ecec7849e851ddd31c34bdfb3482b5de",
        "a3ccf63ee643ef243cbf8918da8b3f9238f10029"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 08:44:42 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 08:44:44 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nMerge reason: pick up tools/perf/ changes from upstream.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5b889f2ecec7849e851ddd31c34bdfb3482b5de",
      "tree": "001c95641ddf734a1e5e1fdee7e821f042c08f0b",
      "parents": [
        "f4f0b418188cc7995375acbb54e87c80f21861bd"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Oct 13 11:16:29 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 17:12:18 2009 +0200"
      },
      "message": "perf tools: Move threads \u0026 last_match to threads.c\n\nThis was just being copy\u0027n\u0027pasted all over.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091013141629.GD21809@ghostprotocols.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55ffb7a6bd45d0083ffb132381cb46964a4afe01",
      "tree": "89853e721eda384aad61bf71960bfdaea92269f5",
      "parents": [
        "7e4ff9e3e8f88de8a8536f43294cd32b4e7d9123"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Sat Oct 10 14:46:04 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 12 09:10:55 2009 +0200"
      },
      "message": "perf sched: Add -C option to measure on a specific CPU\n\nTo refresh, trying to sched record only one CPU results in bogus\nlatencies as below.\n\nI fixed^Wmade it stop doing the bad thing today, by\nfollowing task migration events properly.\n\nBefore:\n\n  marge:/root/tmp # taskset -c 1 perf sched record -C 0 -- sleep 10\n  marge:/root/tmp # perf sched lat\n   -----------------------------------------------------------------------------------------\n    Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms |\n   -----------------------------------------------------------------------------------------\n    Xorg:4943             |      1.290 ms |        1 | avg: 1670.132 ms | max: 1670.132 ms |\n    hald-addon-stor:3569  |      0.091 ms |        3 | avg:  658.609 ms | max: 1975.797 ms |\n    hald-addon-stor:3573  |      0.209 ms |        4 | avg:  499.138 ms | max: 1990.565 ms |\n    audispd:4270          |      0.012 ms |        1 | avg:    0.015 ms | max:    0.015 ms |\n  ....\n\n  marge:/root/tmp # perf sched trace|grep \u0027Xorg:4943\u0027\n           swapper-0     [000]   401.184013288: sched_stat_runtime: task: Xorg:4943 runtime: 1233188 [ns], vruntime: 19105169779 [ns]\n   rt2870TimerQHan-4947  [000]   402.854140127: sched_stat_wait: task: Xorg:4943 wait: 580073 [ns]\n   rt2870TimerQHan-4947  [000]   402.854141770: sched_migrate_task: task Xorg:4943 [140] from: 1  to: 0\n   rt2870TimerQHan-4947  [000]   402.854143854: sched_stat_wait: task: Xorg:4943 wait: 0 [ns]\n   rt2870TimerQHan-4947  [000]   402.854145397: sched_switch: task rt2870TimerQHan:4947 [140] (D) \u003d\u003d\u003e Xorg:4943 [140]\n              Xorg-4943  [000]   402.854193133: sched_stat_runtime: task: Xorg:4943 runtime: 56546 [ns], vruntime: 11766332500 [ns]\n              Xorg-4943  [000]   402.854196842: sched_switch: task Xorg:4943 [140] (S) \u003d\u003d\u003e swapper:0 [140]\n\nAfter:\n\n  marge:/root/tmp # taskset -c 1 perf sched record -C 0 -- sleep 10\n  marge:/root/tmp # perf sched lat\n   -----------------------------------------------------------------------------------------\n    Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms |\n   -----------------------------------------------------------------------------------------\n    amarokapp:11150       |    271.297 ms |      878 | avg:    0.130 ms | max:    1.057 ms |\n    konsole:5965          |      1.370 ms |       12 | avg:    0.092 ms | max:    0.855 ms |\n    Xorg:4943             |    179.980 ms |     1109 | avg:    0.087 ms | max:    1.206 ms |\n    hald-addon-stor:3574  |      0.212 ms |        9 | avg:    0.040 ms | max:    0.169 ms |\n    hald-addon-stor:3570  |      0.223 ms |        9 | avg:    0.037 ms | max:    0.223 ms |\n    klauncher:5864        |      0.550 ms |        8 | avg:    0.032 ms | max:    0.048 ms |\n\nThe \u0027Maximum delay ms\u0027 results are now sane.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbef79a82a64ec13e745ce2b0274154ae1e47243",
      "tree": "da128daca6c33c9280d0f01400c4766ed4a89c76",
      "parents": [
        "d93a8f829fe1d2f3002f2c6ddb553d12db420412"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 05 13:17:29 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 12 08:35:00 2009 +0200"
      },
      "message": "perf tools: Fix const char type propagation\n\nThe following perf build warnings/errors in function\nargument types:\n\n  builtin-sched.c:1894: warning: passing argument 1 of \u0027sort_dimension__add\u0027 discards qualifiers from pointer target type\n  util/trace-event-parse.c:685: warning: passing argument 2 of \u0027read_expected\u0027 discards qualifiers from pointer target type\n  util/trace-event-parse.c:741: warning: passing argument 4 of \u0027test_type_token\u0027 discards qualifiers from pointer target type\n  util/trace-event-parse.c:706: warning: passing argument 2 of \u0027read_expected_item\u0027 discards qualifiers from pointer target type\n\n... trigger because older GCC is not able to prove that\nsort_dimension__add() does not change the string.\n\nSome goes for test_type_token().\n\nFix this by improving type consistency.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091005131729.78444bfb.randy.dunlap@oracle.com\u003e\n[ Also remove ugly type cast now unnecessary. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97ea1a7fa62af0d8d49a0fc12796b0073537c9d8",
      "tree": "3be620dc044bd978e71b1bdd997d8e38a3c9b2a8",
      "parents": [
        "2e538c4a1847291cf01218d4fe7bb4dc60fef7cf"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 08 21:04:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 08 21:10:21 2009 +0200"
      },
      "message": "perf tools: Fix thread comm resolution in perf sched\n\nThis reverts commit 9a92b479b2f088ee2d3194243f4c8e59b1b8c9c2 (\"perf\ntools: Improve thread comm resolution in perf sched\") and fixes the\nreal bug.\n\nThe bug was elsewhere:\n\nWe are failing to resolve thread names in perf sched because the\ntable of threads we are building, on top of comm events, has a per\nprocess granularity. But perf sched, unlike the other perf tools,\nneeds a per thread granularity as we are profiling every tasks\nindividually.\n\nSo fix it by building our threads table using the tid instead of\nthe pid as the thread identifier.\n\nv2: Revert the previous fix - it is not really needed\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\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1255028657-11158-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a92b479b2f088ee2d3194243f4c8e59b1b8c9c2",
      "tree": "000ea4a4e36e37af2867ba8aaf7cf38210373974",
      "parents": [
        "016e92fbc9ef33689cf654f343a94383d43235e7"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 08 16:37:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 08 16:56:33 2009 +0200"
      },
      "message": "perf tools: Improve thread comm resolution in perf sched\n\nWhen we get sched traces that involve a task that was already\ncreated before opening the event, we won\u0027t have the comm event for\nit.\n\nSo if we can\u0027t find the comm event for a given thread, we look at\nthe traces that may contain these informations.\n\nBefore:\n\n ata/1:371             |      0.000 ms |        1 | avg: 3988.693 ms | max: 3988.693 ms |\n kondemand/1:421       |      0.096 ms |        3 | avg:  345.346 ms | max: 1035.989 ms |\n kondemand/0:420       |      0.025 ms |        3 | avg:  421.332 ms | max:  964.014 ms |\n :5124:5124            |      0.103 ms |        5 | avg:   74.082 ms | max:  277.194 ms |\n :6244:6244            |      0.691 ms |        9 | avg:  125.655 ms | max:  271.306 ms |\n firefox:5080          |      0.924 ms |        5 | avg:   53.833 ms | max:  257.828 ms |\n npviewer.bin:6225     |     21.871 ms |       53 | avg:   22.462 ms | max:  220.835 ms |\n :6245:6245            |      9.631 ms |       21 | avg:   41.864 ms | max:  213.349 ms |\n\nAfter:\n\n ata/1:371             |      0.000 ms |        1 | avg: 3988.693 ms | max: 3988.693 ms |\n kondemand/1:421       |      0.096 ms |        3 | avg:  345.346 ms | max: 1035.989 ms |\n kondemand/0:420       |      0.025 ms |        3 | avg:  421.332 ms | max:  964.014 ms |\n firefox:5124          |      0.103 ms |        5 | avg:   74.082 ms | max:  277.194 ms |\n npviewer.bin:6244     |      0.691 ms |        9 | avg:  125.655 ms | max:  271.306 ms |\n firefox:5080          |      0.924 ms |        5 | avg:   53.833 ms | max:  257.828 ms |\n npviewer.bin:6225     |     21.871 ms |       53 | avg:   22.462 ms | max:  220.835 ms |\n npviewer.bin:6245     |      9.631 ms |       21 | avg:   41.864 ms | max:  213.349 ms |\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\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1255012632-7882-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "016e92fbc9ef33689cf654f343a94383d43235e7",
      "tree": "edf9dc21d037ea138300b7e7e32574e6f6f17fb2",
      "parents": [
        "03456a158d9067d2f657bec170506009db81756d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Oct 07 12:47:31 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 08 16:56:32 2009 +0200"
      },
      "message": "perf tools: Unify perf.data mapping and events handling\n\nThis librarizes the perf.data file mapping and handling in various\nperf tools, roughly reducing the amount of code and fixing the\nplaces that mmap from beginning of the file whereas we want to mmap\nfrom the beginning of the data, leading to page fault because the\nmmap window is too small since the trace info are written in the\nfile too.\n\nTODO:\n\n - convert perf timechart too\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\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003c20091007104729.GD5043@nowhere\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03456a158d9067d2f657bec170506009db81756d",
      "tree": "e242a1751bd48cf8731165d6b71a952fd1936a69",
      "parents": [
        "b209aa1f83964d49a332a7b6b818ebede5cdc6ef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Oct 06 23:36:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 07 08:36:10 2009 +0200"
      },
      "message": "perf tools: Merge trace.info content into perf.data\n\nThis drops the trace.info file and move its contents into the\ncommon perf.data file.\n\nThis is done by creating a new trace_info section into this file. A\nuser of perf headers needs to call perf_header__set_trace_info() to\nsave the trace meta informations into the perf.data file.\n\nA file created by perf after his patch is unsupported by previous\nversion because the size of the headers have increased.\n\nThat said, it\u0027s two new fields that have been added in the end of\nthe headers, and those could be ignored by previous versions if\nthey just handled the dynamic header size and then ignore the\nunknow part. The offsets guarantee the compatibility. We\u0027ll do a\n-stable fix for that.\n\nBut current previous versions handle the header size using its\nstatic size, not dynamic, then it\u0027s not backward compatible with\ntrace records.\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: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091006213643.GA5343@nowhere\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a80deb622dba7dfb65d9e27b6b74b7c1963c3635",
      "tree": "c7d9c5e1d6a222597b7a5784c846bdb4eb033c65",
      "parents": [
        "1b46cddfccfec4cc67b187fb53d78198de6a057c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Sep 28 15:23:51 2009 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 30 13:57:57 2009 +0200"
      },
      "message": "perf sched: Remove dead code\n\nSeveral variables are not used at all, cut\u0027n\u0027paste leftovers.\n\nAlso check if the sample_type is RAW earlier, to avoid needless\nsearches.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\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": "4b77a7297795229eca96c41e1709a3c87909fabe",
      "tree": "89c4a457b5d43d43c3fa68cb8c9d661167b4436f",
      "parents": [
        "1281a49b7aa865a1f0d60e2b28410e6234fc686b"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Sep 18 08:22:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 18 08:36:06 2009 +0200"
      },
      "message": "perf sched: Add --input\u003dfile option to builtin-sched.c\n\nperf sched record passes unparsed args on to perf record, so\nspecifying an output file via perf sched record -o FILE (cmd) just\nworks.  Ergo, provide an option to specify input file as well.\n\nAlso add the missing \u0027map\u0027 command to help.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1253254944.20589.11.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "40749d0ff49f99c3661b336fe5e5625207bd925a",
      "tree": "29856d175cd23b90b67e2efaa7146ddf0f4c7612",
      "parents": [
        "8b412664d0a487c2e16ac43f4fcede346df33254"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 17 18:24:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 17 22:09:19 2009 +0200"
      },
      "message": "perf sched: Determine the number of CPUs automatically\n\nFor \u0027perf sched map\u0027 output, determine max_cpu automatically,\ninstead of the static default of 15.\n\n[ v2: use sysconf() pointed out by Arjan van de Ven \u003carjan@infradead.org\u003e ]\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": "0ec04e16d08b69d8da46abbcfa3e3f2cd9738852",
      "tree": "8a63209fd4f45ff1c15a89fd0e3aa5dbdbe58b33",
      "parents": [
        "80ed0987f363d7eb50193df3e6f6d71451f74bc3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 17:40:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 16:41:30 2009 +0200"
      },
      "message": "perf sched: Add \u0027perf sched map\u0027 scheduling event map printout\n\nThis prints a textual context-switching outline of workload\ncaptured via perf sched record.\n\nFor example, on a 16 CPU box it outputs:\n\n   N1  O1  .   .   .   S1  .   .   .   B0  .  *I0  C1  .   M1  .    23002.773423 secs\n   N1  O1  .  *Q0  .   S1  .   .   .   B0  .   I0  C1  .   M1  .    23002.773423 secs\n   N1  O1  .   Q0  .   S1  .   .   .   B0  .  *R1  C1  .   M1  .    23002.773485 secs\n   N1  O1  .   Q0  .   S1  .  *S0  .   B0  .   R1  C1  .   M1  .    23002.773478 secs\n  *L0  O1  .   Q0  .   S1  .   S0  .   B0  .   R1  C1  .   M1  .    23002.773523 secs\n   L0  O1  .  *.   .   S1  .   S0  .   B0  .   R1  C1  .   M1  .    23002.773531 secs\n   L0  O1  .   .   .   S1  .   S0  .   B0  .   R1  C1 *T1  M1  .    23002.773547 secs T1 \u003d\u003e irqbalance:2089\n   L0  O1  .   .   .   S1  .   S0  .  *P0  .   R1  C1  T1  M1  .    23002.773549 secs\n  *N1  O1  .   .   .   S1  .   S0  .   P0  .   R1  C1  T1  M1  .    23002.773566 secs\n   N1  O1  .   .   .  *J0  .   S0  .   P0  .   R1  C1  T1  M1  .    23002.773571 secs\n   N1  O1  .   .   .   J0  .   S0 *B0  P0  .   R1  C1  T1  M1  .    23002.773592 secs\n   N1  O1  .   .   .   J0  .  *U0  B0  P0  .   R1  C1  T1  M1  .    23002.773582 secs\n   N1  O1  .   .   .  *S1  .   U0  B0  P0  .   R1  C1  T1  M1  .    23002.773604 secs\n   N1  O1  .   .   .   S1  .   U0  B0 *.   .   R1  C1  T1  M1  .    23002.773615 secs\n   N1  O1  .   .   .   S1  .   U0  B0  .   .  *K0  C1  T1  M1  .    23002.773631 secs\n   N1  O1  .  *M0  .   S1  .   U0  B0  .   .   K0  C1  T1  M1  .    23002.773624 secs\n   N1  O1  .   M0  .   S1  .   U0 *.   .   .   K0  C1  T1  M1  .    23002.773644 secs\n   N1  O1  .   M0  .   S1  .   U0  .   .   .  *R1  C1  T1  M1  .    23002.773662 secs\n   N1  O1  .   M0  .   S1  .  *.   .   .   .   R1  C1  T1  M1  .    23002.773648 secs\n   N1  O1  .  *.   .   S1  .   .   .   .   .   R1  C1  T1  M1  .    23002.773680 secs\n   N1  O1  .   .   .  *L0  .   .   .   .   .   R1  C1  T1  M1  .    23002.773717 secs\n  *N0  O1  .   .   .   L0  .   .   .   .   .   R1  C1  T1  M1  .    23002.773709 secs\n  *N1  O1  .   .   .   L0  .   .   .   .   .   R1  C1  T1  M1  .    23002.773747 secs\n\nColumns stand for individual CPUs, from CPU0 to CPU15, and the\ntwo-letter shortcuts stand for tasks that are running on a CPU.\n\n\u0027*\u0027 denotes the CPU that had the event.\n\nA dot signals an idle CPU.\n\nNew tasks are assigned new two-letter shortcuts - when they occur\nfirst they are printed. In the above example \u0027T1\u0027 stood for irqbalance:\n\n      T1 \u003d\u003e irqbalance:2089\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": "80ed0987f363d7eb50193df3e6f6d71451f74bc3",
      "tree": "36ac94c42e234ade4c6a2ac4b8c2dcb3bfbd138f",
      "parents": [
        "c8a37751043427c6e4397a2cbfd617cb5f215c72"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 14:12:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 12:15:47 2009 +0200"
      },
      "message": "perf sched: Make idle thread and comm/pid names more consistent\n\nPeter noticed that we have 3 ways of referring to the idle thread:\n\n [idle]:0\n swapper:0\n swapper-0\n\nStandardize on \u0027swapper:0\u0027.\n\nReported-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\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c8a37751043427c6e4397a2cbfd617cb5f215c72",
      "tree": "b4399844d7064741c4df4098509b7dc3bd7d3493",
      "parents": [
        "dc02bf7178c8e2cb3d442ae19027b736d51c7dd5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 14:07:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 12:08:28 2009 +0200"
      },
      "message": "perf sched: Sanity check context switch events\n\nUse \u0027perf sched latency\u0027 to track the current task based on\ncontext-switch events, and flag the cases where there\u0027s some\nimpossible transition: such as a PID being switched out that\nwas not switched in.\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": "dc02bf7178c8e2cb3d442ae19027b736d51c7dd5",
      "tree": "08e66e825e88e63e6b913245f02bc5c4c6358f83",
      "parents": [
        "39aeb52f99f2380c1f16036deed2f7bb8b2e0559"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 13:45:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 11:48:05 2009 +0200"
      },
      "message": "perf sched: Account for lost events, increase default buffering\n\nOutput such lost event and state machine weirdness stats:\n\n   TOTAL:                |  14974.910 ms |    46384 |\n  ---------------------------------------------------\n   INFO: 8.865% lost events (19132 out of 215819, in 8 chunks)\n   INFO: 0.198% state machine bugs (49 out of 24708) (due to lost events?)\n\nAnd increase buffering to -m 1024 (4 MB) by default. Since we\nuse output multiplexing that kind of space is needed.\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": "39aeb52f99f2380c1f16036deed2f7bb8b2e0559",
      "tree": "5d9c6dbc12da0bceb9776be4d1d7082d21850095",
      "parents": [
        "08f69e6c2e59b3d73343f8c9ecf758e0133dbc22"
      ],
      "author": {
        "name": "mingo",
        "email": "mingo@europe.(none)",
        "time": "Mon Sep 14 20:04:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 20:08:23 2009 +0200"
      },
      "message": "perf sched: Add support for sched:sched_stat_runtime events\n\nThis allows more precise \u0027perf sched latency\u0027 output:\n\n ---------------------------------------------------------------------------------------\n  Task                  |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n ---------------------------------------------------------------------------------------\n  ksoftirqd/0-4         |    0.010 ms |        2 | avg:    2.476 ms | max:    2.977 ms |\n  perf-12328            |   15.844 ms |       66 | avg:    1.118 ms | max:    9.979 ms |\n  bdi-default-235       |    0.009 ms |        1 | avg:    0.998 ms | max:    0.998 ms |\n  events/1-8            |    0.020 ms |        2 | avg:    0.998 ms | max:    0.998 ms |\n  events/0-7            |    0.018 ms |        2 | avg:    0.992 ms | max:    0.996 ms |\n  sleep-12329           |    0.742 ms |        3 | avg:    0.906 ms | max:    2.289 ms |\n  sshd-12122            |    0.163 ms |        2 | avg:    0.283 ms | max:    0.562 ms |\n  loop-getpid-lon-12322 | 1023.636 ms |       69 | avg:    0.208 ms | max:    5.996 ms |\n  loop-getpid-lon-12321 | 1038.638 ms |        5 | avg:    0.073 ms | max:    0.171 ms |\n  migration/1-5         |    0.000 ms |        1 | avg:    0.006 ms | max:    0.006 ms |\n ---------------------------------------------------------------------------------------\n  TOTAL:                | 2079.078 ms |      153 |\n -------------------------------------------------\n\nAlso, streamline the code a bit more, add asserts for various state\nmachine failures (they should be debugged if they occur) and fix\na few odd ends.\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": "08f69e6c2e59b3d73343f8c9ecf758e0133dbc22",
      "tree": "4e979b37f653004d849c04f96b098610a0356218",
      "parents": [
        "d11533893b31ab7806ff04bfa69ae646068610ce"
      ],
      "author": {
        "name": "mingo",
        "email": "mingo@europe.(none)",
        "time": "Mon Sep 14 18:30:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 18:34:57 2009 +0200"
      },
      "message": "perf sched: Print PIDs too\n\nOften it\u0027s useful to know the PID of the task as well - print it\nout too.\n\n( While at it, reformat the output to be a bit more\n  paste-into-commit-logs friendly. )\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": "d11533893b31ab7806ff04bfa69ae646068610ce",
      "tree": "332f701f1aeea75abf7dd885e86baff5014dc9f6",
      "parents": [
        "ea57c4f5203d82c7844c54cdef54e972cf4e9d1f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 18:22:53 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 18:22:53 2009 +0200"
      },
      "message": "perf sched: Fix \u0027perf sched latency\u0027 output on 32-bit systems\n\nBefore:\n\n  -----------------------------------------------------------------------------------\n   Task              |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n  -----------------------------------------------------------------------------------\n   perf              |4853313.251 ms |       10 | avg:    0.046 ms | max:    0.337 ms |\n   flush-8:0         |2426659.202 ms |        5 | avg:    0.015 ms | max:    0.016 ms |\n   sleep             |485331.966 ms |        1 | avg:    0.012 ms | max:    0.012 ms |\n   ksoftirqd/1       |485331.320 ms |        1 | avg:    0.005 ms | max:    0.005 ms |\n  -----------------------------------------------------------------------------------\n   TOTAL:            |8250635.739 ms |       17 |\n  ---------------------------------------------\n\nAfter:\n\n  -----------------------------------------------------------------------------------\n   Task              |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n  -----------------------------------------------------------------------------------\n   perf              |    0.206 ms |       10 | avg:    0.046 ms | max:    0.337 ms |\n   flush-8:0         |    2.680 ms |        5 | avg:    0.015 ms | max:    0.016 ms |\n   sleep             |    0.662 ms |        1 | avg:    0.012 ms | max:    0.012 ms |\n   ksoftirqd/1       |    0.015 ms |        1 | avg:    0.005 ms | max:    0.005 ms |\n  -----------------------------------------------------------------------------------\n   TOTAL:            |    3.563 ms |       17 |\n  ---------------------------------------------\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": "ea57c4f5203d82c7844c54cdef54e972cf4e9d1f",
      "tree": "13eb76a07480adbfe1bcabd25cde7cdd12907ddb",
      "parents": [
        "aa1ab9d26ae9fe2566a9036e3cb83e7d555b3987"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 18:15:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 15:45:11 2009 +0200"
      },
      "message": "perf tools: Implement counter output multiplexing\n\nFinish the -M/--multiplex option implementation:\n\n - separate it out from group_fd\n\n - correctly set it via the ioctl and dont mmap counters that\n   are multiplexed\n\n - modify the perf record event loop to deal with buffer-less\n   counters.\n\n - remove the -g option from perf sched record\n\n - account for unordered events in perf sched latency\n\n - (add -f to perf sched record to ease measurements)\n\n - skip idle threads (pid\u003d\u003d0) in latency output\n\nThe result is better latency output by \u0027perf sched latency\u0027:\n\n -----------------------------------------------------------------------------------\n  Task              |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n -----------------------------------------------------------------------------------\n  ksoftirqd/8       |    0.071 ms |        2 | avg:    0.458 ms | max:    0.913 ms |\n  at-spi-registry   |    0.609 ms |       19 | avg:    0.013 ms | max:    0.023 ms |\n  perf              |    3.316 ms |       16 | avg:    0.013 ms | max:    0.054 ms |\n  Xorg              |    0.392 ms |       19 | avg:    0.011 ms | max:    0.018 ms |\n  sleep             |    0.537 ms |        2 | avg:    0.009 ms | max:    0.009 ms |\n -----------------------------------------------------------------------------------\n  TOTAL:            |    4.925 ms |       58 |\n ---------------------------------------------\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": "aa1ab9d26ae9fe2566a9036e3cb83e7d555b3987",
      "tree": "bd9a25fdf5e53d29b5c062a3b8291fbafeedd35a",
      "parents": [
        "d13025222cdb0043e2239b3b819389358bb31bc0"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Sep 14 03:01:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 15:45:10 2009 +0200"
      },
      "message": "perf tools: Fix processing of randomly serialized sched traces\n\nCurrently it\u0027s possible to meet such too high latency results\nwith \u0027perf sched latency\u0027.\n\n -----------------------------------------------------------------------------------\n Task              |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n -----------------------------------------------------------------------------------\n xfce4-panel       |    0.222 ms |        2 | avg: 4718.345 ms | max: 9436.493 ms |\n scsi_eh_3         |    3.962 ms |       36 | avg:   55.957 ms | max: 1977.829 ms |\n\nThe origin is on traces that are sometimes badly serialized across cpus.\nFor example the raw traces that raised such results for xfce4-panel:\n\n(1)          [init]-0     [000]  1494.663899990: sched_switch: task swapper:0 [140] (R) \u003d\u003d\u003e xfce4-panel:4569 [120]\n(2)     xfce4-panel-4569  [000]  1494.663928373: sched_switch: task xfce4-panel:4569 [120] (S) \u003d\u003d\u003e swapper:0 [140]\n(3)            Xorg-4276  [001]  1494.663860125: sched_wakeup: task xfce4-panel:4569 [120] success\u003d1 [000]\n(4)            Xorg-4276  [001]  1504.098252756: sched_wakeup: task xfce4-panel:4569 [120] success\u003d1 [000]\n(5)            perf-5219  [000]  1504.100353302: sched_switch: task perf:5219 [120] (S) \u003d\u003d\u003e xfce4-panel:4569 [120]\n\nThe traces are processed in the order they arrive. Then in (2),\nxfce4-panel sleeps, it is first waken up in (3) and eventually\nscheduled in (5).\n\nThe latency reported is then 1504 - 1495 \u003d 9 secs, as reported by perf\nsched. But this is wrong, we are confident in the fact the traces are\nnicely serialized while we should actually more trust the timestamps.\n\nIf we reorder by timestamps we get:\n\n(1)            Xorg-4276  [001]  1494.663860125: sched_wakeup: task xfce4-panel:4569 [120] success\u003d1 [000]\n(2)          [init]-0     [000]  1494.663899990: sched_switch: task swapper:0 [140] (R) \u003d\u003d\u003e xfce4-panel:4569 [120]\n(3)     xfce4-panel-4569  [000]  1494.663928373: sched_switch: task xfce4-panel:4569 [120] (S) \u003d\u003d\u003e swapper:0 [140]\n(4)            Xorg-4276  [001]  1504.098252756: sched_wakeup: task xfce4-panel:4569 [120] success\u003d1 [000]\n(5)            perf-5219  [000]  1504.100353302: sched_switch: task perf:5219 [120] (S) \u003d\u003d\u003e xfce4-panel:4569 [120]\n\nNow the trace make more sense, xfce4-panel is sleeping. Then it is\nwoken up in (1), scheduled in (2)\nIt goes to sleep in (3), woken up in (4) and scheduled in (5).\n\nNow, latency captured between (1) and (2) is of 39 us.\nAnd between (4) and (5) it is 2.1 ms.\n\nSuch pattern of bad serializing is the origin of the high latencies\nreported by perf sched.\n\nBasically, we need to check whether wake up time is higher than\nschedule out time. If it\u0027s not the case, we need to tag the current\nwork atom as invalid.\n\nBeside that, we may need to work later on a better ordering of the\ntraces given by the kernel.\n\nAfter this patch:\n\nxfce4-session     |    0.221 ms |        1 | avg:    0.538 ms | max:    0.538 ms |\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d13025222cdb0043e2239b3b819389358bb31bc0",
      "tree": "9bac1060f41da9f2d35f194749428a23dde8290c",
      "parents": [
        "f977bb4937857994312fff4f9c2cad336a36a932"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Sep 14 08:57:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 14 09:52:23 2009 +0200"
      },
      "message": "perf tools: Add an option to multiplex counters in a single channel\n\nAdd an option to multiplex counters output in the channel of\nthe group leader, ie: the first counter opened:\n\n\t-M --multiplex\n\nThe effect is better serialized samples. This is especially\nuseful for tracepoint samples that need to be well serialized\nfor their post-processing.\n\nAlso make use of this option in \u0027perf sched\u0027.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c13f0d3c8165e9592102687fa999da0a0d9c3724",
      "tree": "5f679c0b390a7b7f3b0e116c75ecc0f1784c56a2",
      "parents": [
        "459ec28ab404d7afcd512ce9b855959ad301605a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 16:51:04 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 17:55:23 2009 +0200"
      },
      "message": "perf sched: Add \u0027perf sched trace\u0027, improve documentation\n\nAlias \u0027perf sched trace\u0027 to \u0027perf trace\u0027, for workflow completeness.\n\nAdd a bit of documentation for perf sched.\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": "1fc35b29b4098aa3bf9fc9acb4c1615d0b5dd95d",
      "tree": "f4646be85f1f52c5f239ca47930958e85ed119ff",
      "parents": [
        "b5fae128e41021889777f8ead810cbd2a8b249fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 09:44:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:51 2009 +0200"
      },
      "message": "perf sched: Implement the \u0027perf sched record\u0027 subcommand\n\nImplement the \u0027perf sched record\u0027 subcommand that adds a\ndefault list of events, turns on raw sampling and system-wide\ntracing and passes off the rest of the command to perf record.\n\nThis is more convenient than having to specify the events all\nthe time.\n\nBefore:\n\n $ perf record -a -R -e sched:sched_switch:r -e sched:sched_stat_wait:r -e sched:sched_stat_sleep:r -e sched:sched_stat_iowait:r -e sched:sched_process_exit:r -e sched:sched_process_fork:r -e sched:sched_wakeup:r -e sched:sched_migrate_task:r -c 1 sleep 1\n\nAfter:\n\n $ perf sched record -f sleep 1\n\nAlso fix an assumption in the event string parser that assumed\nthat strings passed in can be modified. (In this case they wont\nbe as they come from a readonly constant section.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5fae128e41021889777f8ead810cbd2a8b249fc",
      "tree": "4fb7885dc9d9232c6c8fb4f45b95dfedcdbac175",
      "parents": [
        "b1ffe8f3e0c96f5527a89e24410d6b0e59b3554a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 12:12:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:50 2009 +0200"
      },
      "message": "perf sched: Clean up PID sorting logic\n\nUse a sort list for thread atoms insertion as well - instead of\nhardcoded for PID.\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": "b1ffe8f3e0c96f5527a89e24410d6b0e59b3554a",
      "tree": "f766ae671c3528186c4bbe313e178f77b0f52478",
      "parents": [
        "f2858d8ad9858e63c87257553c5721cba5db95ae"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 12:12:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:49 2009 +0200"
      },
      "message": "perf sched: Finish latency \u003d\u003e atom rename and misc cleanups\n\n- Rename \u0027latency\u0027 field/variable names to the better \u0027atom\u0027 ones\n\n - Reduce the number of #include lines and consolidate them\n\n - Gather file scope variables at the top of the file\n\n - Remove unused bits\n\nNo change in functionality.\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": "f2858d8ad9858e63c87257553c5721cba5db95ae",
      "tree": "6b3d74454ec63901f28d0acd2144429167ec6fcb",
      "parents": [
        "daa1d7a5eafc0a3a91a9add6a9a9f1bcaed63108"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 12:12:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:49 2009 +0200"
      },
      "message": "perf sched: Add \u0027perf sched latency\u0027 and \u0027perf sched replay\u0027\n\nSeparate the option parsing cleanly and add two variants:\n\n - \u0027perf sched latency\u0027 (can be abbreviated via \u0027perf sched lat\u0027)\n - \u0027perf sched replay\u0027  (can be abbreviated via \u0027perf sched rep\u0027)\n\nAlso add a repeat count option to replay and add a separation\nset of options for replay.\n\nDo the sorting setup only in the latency sub-command.\n\nDisplay separate help screens for \u0027perf sched\u0027 and\n\u0027perf sched replay -h\u0027 - i.e. further separation of the\nsub-commands.\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": "daa1d7a5eafc0a3a91a9add6a9a9f1bcaed63108",
      "tree": "061114ddcf5247fe11f5afdec7bc3015e9fc2640",
      "parents": [
        "7362262687b21b0d04927a7615c162a3d064849e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 13 03:36:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:48 2009 +0200"
      },
      "message": "perf sched: Implement multidimensional sorting\n\nImplement multidimensional sorting on perf sched so that\nyou can sort either by number of switches, latency average,\nlatency maximum, runtime.\n\nperf sched -l -s avg,max  (this is the default)\n\n-----------------------------------------------------------------------------------\n Task              |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n-----------------------------------------------------------------------------------\n gnome-power-man   |    0.113 ms |        1 | avg: 4998.531 ms | max: 4998.531 ms |\n xfdesktop         |    1.190 ms |        7 | avg:  136.475 ms | max:  940.933 ms |\n xfce-mcs-manage   |    2.194 ms |       22 | avg:   38.534 ms | max:  735.174 ms |\n notification-da   |    2.749 ms |       31 | avg:   27.436 ms | max:  731.791 ms |\n xfce4-session     |    3.343 ms |       28 | avg:   26.796 ms | max:  734.891 ms |\n xfwm4             |    3.159 ms |       22 | avg:   12.406 ms | max:  241.333 ms |\n xchat             |   42.789 ms |      214 | avg:   11.886 ms | max:  100.349 ms |\n xfce4-terminal    |    5.386 ms |       22 | avg:   11.414 ms | max:  241.611 ms |\n firefox           |  151.992 ms |      123 | avg:    9.543 ms | max:  153.717 ms |\n xfce4-panel       |   24.324 ms |       47 | avg:    8.189 ms | max:  242.352 ms |\n :5090             |    6.932 ms |      111 | avg:    8.131 ms | max:  102.665 ms |\n events/0          |    0.758 ms |       12 | avg:    1.964 ms | max:   21.879 ms |\n Xorg              |  280.558 ms |      340 | avg:    1.864 ms | max:   99.526 ms |\n geany             |   63.391 ms |      295 | avg:    1.099 ms | max:    9.334 ms |\n reiserfs/0        |    0.039 ms |        2 | avg:    0.854 ms | max:    1.487 ms |\n kondemand/0       |    8.251 ms |      245 | avg:    0.691 ms | max:   34.372 ms |\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7362262687b21b0d04927a7615c162a3d064849e",
      "tree": "58bfdd62cb077bbe5e6dee2d6caa67bf650ea840",
      "parents": [
        "66685678a03d0d8e8ba015472f280fb4f12f84c1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 13 01:59:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:48 2009 +0200"
      },
      "message": "perf sched: Fix nsec to msec conversion\n\nWe are dividing a time in ns by 1e9. This is a nsec to sec\nconversion. What we want is msecs. Fix it by dividing by 1e6.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "66685678a03d0d8e8ba015472f280fb4f12f84c1",
      "tree": "60e9cbe8809c0977bf02e3257116d4a296ff798b",
      "parents": [
        "c6ced61112f1e6139914149fab65695801a74f0f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 13 01:56:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:47 2009 +0200"
      },
      "message": "perf sched: Export the total, max latency and total runtime to thread atoms list\n\nAdd a field in the thread atom list that keeps track of the\ntotal and max latencies and also the total runtime. This makes\na faster output and also prepares for sorting.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6ced61112f1e6139914149fab65695801a74f0f",
      "tree": "7190da3cfee68b9a0fdcd39af84e78e31e054cb1",
      "parents": [
        "175622053069afbd366ba3c6030b5af82f378d40"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Sep 13 00:46:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:47 2009 +0200"
      },
      "message": "perf sched: Add involuntarily sleeping task in work atoms\n\nCurrently in perf sched, we are measuring the scheduler wakeup\nlatencies.\n\nNow we also want measure the time a task wait to be scheduled\nafter it gets preempted.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "175622053069afbd366ba3c6030b5af82f378d40",
      "tree": "ce296ebcb62dfcddb68d0270c3019ed06379c29c",
      "parents": [
        "3e304147cdb404ce6d1dd0e50cb19f52142bb363"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Sep 12 23:11:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:46 2009 +0200"
      },
      "message": "perf sched: Rename struct lat_snapshot to struct work atoms\n\nTo measures the latencies, we capture the sched atoms data into\na specific structure named struct lat_snapshot.\n\nAs this structure can be used for other purposes of scheduler\nprofiling and mirrors what happens in a thread work atom, lets\nrename it to struct work_atom and propagate this renaming in\nother functions and structures names to keep it coherent.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e304147cdb404ce6d1dd0e50cb19f52142bb363",
      "tree": "07bdfeeb3053e5aee7f740df322a4769d9e03e3f",
      "parents": [
        "ea92ed5a8f4e6c638efe7de2efe8a875d580ad3f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 12 10:08:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:45 2009 +0200"
      },
      "message": "perf sched: Output runtime and context switch totals\n\nAfter:\n\n-----------------------------------------------------------------------------------\n Task              |  Runtime ms | Switches | Average delay ms | Maximum delay ms |\n-----------------------------------------------------------------------------------\n make              |    0.678 ms |       13 | avg:    0.018 ms | max:    0.050 ms |\n gcc               |    0.014 ms |        2 | avg:    0.320 ms | max:    0.627 ms |\n gcc               |    0.000 ms |        2 | avg:    0.185 ms | max:    0.369 ms |\n...\n-----------------------------------------------------------------------------------\n TOTAL:            |   21.316 ms |       63 |\n---------------------------------------------\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": "ea92ed5a8f4e6c638efe7de2efe8a875d580ad3f",
      "tree": "dcdad8cc0b26a3aec5fb98a261da147a7fa662df",
      "parents": [
        "d9340c1db3f52460a8335eeb127a2728c5bba6ce"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 12 10:08:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:45 2009 +0200"
      },
      "message": "perf sched: Add runtime stats\n\nExtend the latency tracking structure with scheduling atom\nruntime info - and sum it up during per task display.\n\n(Also clean up a few details.)\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": "d9340c1db3f52460a8335eeb127a2728c5bba6ce",
      "tree": "375564ebf46acdcf73e8b0a056ebae23109565a7",
      "parents": [
        "46f392c97f9fd772426ed3361c5179a0d44b8c3f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 12 10:08:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:44 2009 +0200"
      },
      "message": "perf sched: Display time in milliseconds, reorganize output\n\nAfter:\n\n-----------------------------------------------------------------------------------\n Task              |  runtime ms | switches | average delay ms | maximum delay ms |\n-----------------------------------------------------------------------------------\n migration/0       |    0.000 ms |        1 | avg:    0.047 ms | max:    0.047 ms |\n ksoftirqd/0       |    0.000 ms |        1 | avg:    0.039 ms | max:    0.039 ms |\n migration/1       |    0.000 ms |        3 | avg:    0.013 ms | max:    0.016 ms |\n migration/3       |    0.000 ms |        2 | avg:    0.003 ms | max:    0.004 ms |\n migration/4       |    0.000 ms |        1 | avg:    0.022 ms | max:    0.022 ms |\n distccd           |    0.000 ms |        1 | avg:    0.004 ms | max:    0.004 ms |\n distccd           |    0.000 ms |        1 | avg:    0.014 ms | max:    0.014 ms |\n distccd           |    0.000 ms |        2 | avg:    0.000 ms | max:    0.000 ms |\n distccd           |    0.000 ms |        2 | avg:    0.012 ms | max:    0.019 ms |\n distccd           |    0.000 ms |        1 | avg:    0.002 ms | max:    0.002 ms |\n as                |    0.000 ms |        2 | avg:    0.019 ms | max:    0.019 ms |\n as                |    0.000 ms |        3 | avg:    0.015 ms | max:    0.017 ms |\n as                |    0.000 ms |        1 | avg:    0.009 ms | max:    0.009 ms |\n perf              |    0.000 ms |        1 | avg:    0.001 ms | max:    0.001 ms |\n gcc               |    0.000 ms |        1 | avg:    0.021 ms | max:    0.021 ms |\n run-mozilla.sh    |    0.000 ms |        2 | avg:    0.010 ms | max:    0.017 ms |\n mozilla-plugin-   |    0.000 ms |        1 | avg:    0.006 ms | max:    0.006 ms |\n gcc               |    0.000 ms |        2 | avg:    0.013 ms | max:    0.013 ms |\n-----------------------------------------------------------------------------------\n\n(The runtime ms column is not filled in yet.)\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": "46f392c97f9fd772426ed3361c5179a0d44b8c3f",
      "tree": "84e42b28ed9285b5329dc017a989e3d29dc02556",
      "parents": [
        "cdce9d738b91e1ec686e4ef6ca46d46e2891e208"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 12 10:08:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:44 2009 +0200"
      },
      "message": "perf sched: Clean up latency and replay sub-commands\n\n- Separate the latency and the replay commands more cleanly\n\n - Use consistent naming\n\n - Display help page on \u0027perf sched\u0027 outlining comments,\n   instead of aborting\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": "cdce9d738b91e1ec686e4ef6ca46d46e2891e208",
      "tree": "1fd64c4bef114ce44a3c96ad7183fa200bff3d12",
      "parents": [
        "419ab0d6a959f41ec7fde807fe311aaafb05c3be"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Sep 12 08:06:14 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:43 2009 +0200"
      },
      "message": "perf sched: Add sched latency profiling\n\nAdd the -l --latency option that reports statistics about the\nscheduler latencies.\n\nFor now, the latencies are measured in the following sequence\nscope:\n\n- task A is sleeping (D or S state)\n- task B wakes up A\n         ^\n         |\n         |\n\n   latency timeframe\n\n         |\n         |\n         v\n- task A is scheduled in\n\nStart by recording every scheduler events:\n\n\tperf record -e sched:*\n\nand then fetch the results:\n\n\tperf sched -l\n\n Tasks                     count          total              avg            max\n\nmigration/0                  2             39849            19924           28826\nksoftirqd/0                  7            756383           108054          373014\nmigration/1                  5             45391             9078           10452\nksoftirqd/1                  2            399055           199527          359130\nevents/0                     8           4780110           597513         4500250\nevents/1                     9           6353057           705895         2986012\nkblockd/0                   42          37805097           900121         5077684\n\nThe snapshot are in nanoseconds.\n\n- Count: number of snapshots taken for the given task\n- Total: total latencies in nanosec\n- Avg  : average of latency between wake up and sched in\n- Max  : max snapshot latency\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "419ab0d6a959f41ec7fde807fe311aaafb05c3be",
      "tree": "e64f1de57d50401c743a076d96f9a8c3f2bd1287",
      "parents": [
        "46538818023e8ea94f656acfa1e38297e2df20e2"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Sep 12 03:59:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:42 2009 +0200"
      },
      "message": "perf sched: Make it easier to plug in new sub profilers\n\nCreate a sched event structure of handlers in which various\nsched events reader can plug their own callbacks.\n\nThis makes easier the addition of new perf sched sub commands.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "46538818023e8ea94f656acfa1e38297e2df20e2",
      "tree": "1cac2198d1b90036cbec61639ebee6a80d6238a3",
      "parents": [
        "bcd3279f465cdcc1e0454b5f605f021c4ff4dbb5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Sep 12 02:43:45 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:41 2009 +0200"
      },
      "message": "perf sched: Fix bad event alignment\n\nperf sched raises the following error when it meets a sched\nswitch event:\n\nperf: builtin-sched.c:286: register_pid: Assertion `!(pid \u003e\u003d 65536)\u0027 failed.\nAbandon\n\nCurrently in x86-64, the sched switch events have a hole in the\nmiddle of the structure:\n\n\tu16 common_type;\n\tu8 common_flags;\n\tu8 common_preempt_count;\n\tu32 common_pid;\n\tu32 common_tgid;\n\n\tchar prev_comm[16];\n\tu32 prev_pid;\n\tu32 prev_prio;\n\t\t\t\u003c--- there\n\tu64 prev_state;\n\tchar next_comm[16];\n\tu32 next_pid;\n\tu32 next_prio;\n\nGcc inserts a 4 bytes hole there for prev_state to be u64\naligned. And the events are exported to userspace with this\nhole.\n\nBut in userspace, from perf sched, we fetch it using a\nstructure that has a new field in the beginning: u32 size. This\nis because our trace is exported with its size as a field. But\nnow that we have this new field, the hole in the middle\ndisappears because it makes prev_state becoming well aligned.\n\nAnd since we are using a pointer to the raw trace using this\nstruct, instead of reading prev_state, we are reading the hole.\n\nWe could fix it by keeping the size seperate from the struct\nbut actually there a lot of other potential problems: some\nfields may be saved as long in a 64 bits system and later read\nas long in a 32 bits system. Also this direct cast doesn\u0027t care\nabout the endianness differences between the host traced\nmachine and the machine in which we do the post processing.\n\nSo instead of using such dangerous direct casts, fetch the\nvalues using the trace parsing API that already takes care of\nall these problems.\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: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad236fd23b6d6372dcacd549983cce051d2ccff6",
      "tree": "576d766c199a6416a2029ab14d7e20028f63a295",
      "parents": [
        "fbf9482911825f965829567aea8acff3bbc5279c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 12:12:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:39 2009 +0200"
      },
      "message": "perf sched: Tighten up the code\n\nVarious small cleanups - removal of debug printks and dead\nfunctions, etc.\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": "fbf9482911825f965829567aea8acff3bbc5279c",
      "tree": "f7e4e18ab46550906d7981ef7423acd84f2f9da7",
      "parents": [
        "ec156764d424dd67283c2cd5e9f6f1b8388364ac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 12:12:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:38 2009 +0200"
      },
      "message": "perf sched: Implement the scheduling workload replay engine\n\nIntegrate the schedbench.c bits with the raw trace events\nthat we get from the perf machinery, and activate the\nworkload replayer/simulator.\n\nExample of a captured \u0027make -j\u0027 workload:\n\n$ perf sched\n\n  run measurement overhead: 90 nsecs\n  sleep measurement overhead: 2724743 nsecs\n  the run test took 1000081 nsecs\n  the sleep test took 2981111 nsecs\n  version \u003d 0.5\n  ...\n  nr_run_events:        70\n  nr_sleep_events:      66\n  nr_wakeup_events:     9\n  target-less wakeups:  71\n  multi-target wakeups: 47\n  run events optimized: 139\n  task      0 (                perf:      6607), nr_events: 2\n  task      1 (                perf:      6608), nr_events: 6\n  task      2 (                    :         0), nr_events: 1\n  task      3 (                make:      6609), nr_events: 5\n  task      4 (                  sh:      6610), nr_events: 4\n  task      5 (                make:      6611), nr_events: 6\n  task      6 (                  sh:      6612), nr_events: 4\n  task      7 (                make:      6613), nr_events: 5\n  task      8 (        migration/11:        25), nr_events: 1\n  task      9 (        migration/13:        29), nr_events: 1\n  task     10 (        migration/15:        33), nr_events: 1\n  task     11 (         migration/9:        21), nr_events: 1\n  task     12 (                  sh:      6614), nr_events: 4\n  task     13 (                make:      6615), nr_events: 5\n  task     14 (                  sh:      6616), nr_events: 4\n  task     15 (                make:      6617), nr_events: 7\n  task     16 (         migration/3:         9), nr_events: 1\n  task     17 (         migration/5:        13), nr_events: 1\n  task     18 (         migration/7:        17), nr_events: 1\n  task     19 (         migration/1:         5), nr_events: 1\n  task     20 (                  sh:      6618), nr_events: 4\n  task     21 (                make:      6619), nr_events: 5\n  task     22 (                  sh:      6620), nr_events: 4\n  task     23 (                make:      6621), nr_events: 10\n  task     24 (                  sh:      6623), nr_events: 3\n  task     25 (                 gcc:      6624), nr_events: 4\n  task     26 (                 gcc:      6625), nr_events: 4\n  task     27 (                 gcc:      6626), nr_events: 5\n  task     28 (            collect2:      6627), nr_events: 5\n  task     29 (                  sh:      6622), nr_events: 1\n  task     30 (                make:      6628), nr_events: 7\n  task     31 (                  sh:      6630), nr_events: 4\n  task     32 (                 gcc:      6631), nr_events: 4\n  task     33 (                  sh:      6629), nr_events: 1\n  task     34 (                 gcc:      6632), nr_events: 4\n  task     35 (                 gcc:      6633), nr_events: 4\n  task     36 (            collect2:      6634), nr_events: 4\n  task     37 (                make:      6635), nr_events: 8\n  task     38 (                  sh:      6637), nr_events: 4\n  task     39 (                  sh:      6636), nr_events: 1\n  task     40 (                 gcc:      6638), nr_events: 4\n  task     41 (                 gcc:      6639), nr_events: 4\n  task     42 (                 gcc:      6640), nr_events: 4\n  task     43 (            collect2:      6641), nr_events: 4\n  task     44 (                make:      6642), nr_events: 6\n  task     45 (                  sh:      6643), nr_events: 5\n  task     46 (                  sh:      6644), nr_events: 3\n  task     47 (                  sh:      6645), nr_events: 4\n  task     48 (                make:      6646), nr_events: 6\n  task     49 (                  sh:      6647), nr_events: 3\n  task     50 (                make:      6648), nr_events: 5\n  task     51 (                  sh:      6649), nr_events: 5\n  task     52 (                  sh:      6650), nr_events: 6\n  task     53 (                make:      6651), nr_events: 4\n  task     54 (                make:      6652), nr_events: 5\n  task     55 (                make:      6653), nr_events: 4\n  task     56 (                make:      6654), nr_events: 4\n  task     57 (                make:      6655), nr_events: 5\n  task     58 (                  sh:      6656), nr_events: 4\n  task     59 (                 gcc:      6657), nr_events: 9\n  task     60 (         ksoftirqd/3:        10), nr_events: 1\n  task     61 (                 gcc:      6658), nr_events: 4\n  task     62 (                make:      6659), nr_events: 5\n  task     63 (                  sh:      6660), nr_events: 3\n  task     64 (                 gcc:      6661), nr_events: 5\n  task     65 (            collect2:      6662), nr_events: 4\n  ------------------------------------------------------------\n  #1  : 256.745, ravg: 256.74, cpu: 0.00 / 0.00\n  #2  : 439.372, ravg: 275.01, cpu: 0.00 / 0.00\n  #3  : 411.971, ravg: 288.70, cpu: 0.00 / 0.00\n  #4  : 385.500, ravg: 298.38, cpu: 0.00 / 0.00\n  #5  : 366.526, ravg: 305.20, cpu: 0.00 / 0.00\n  #6  : 381.281, ravg: 312.81, cpu: 0.00 / 0.00\n  #7  : 410.756, ravg: 322.60, cpu: 0.00 / 0.00\n  #8  : 368.009, ravg: 327.14, cpu: 0.00 / 0.00\n  #9  : 408.098, ravg: 335.24, cpu: 0.00 / 0.00\n  #10 : 368.582, ravg: 338.57, cpu: 0.00 / 0.00\n\nI.e. we successfully analyzed the trace, replayed it\nvia real threads and measured the replayed workload\u0027s\nscheduling properties.\n\nThis is how it looked like in \u0027top\u0027 output:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  7164 mingo     20   0 1434m 8080  888 R 57.0  0.1   0:02.04 :perf\n  7165 mingo     20   0 1434m 8080  888 R 41.8  0.1   0:01.52 :perf\n  7228 mingo     20   0 1434m 8080  888 R 39.8  0.1   0:01.44 :gcc\n  7225 mingo     20   0 1434m 8080  888 R 33.8  0.1   0:01.26 :gcc\n  7202 mingo     20   0 1434m 8080  888 R 31.2  0.1   0:01.16 :sh\n  7222 mingo     20   0 1434m 8080  888 R 25.2  0.1   0:00.96 :sh\n  7211 mingo     20   0 1434m 8080  888 R 21.9  0.1   0:00.82 :sh\n  7213 mingo     20   0 1434m 8080  888 D 19.2  0.1   0:00.74 :sh\n  7194 mingo     20   0 1434m 8080  888 D 18.6  0.1   0:00.72 :make\n\nThere\u0027s still various kinks in it - more patches to come.\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": "ec156764d424dd67283c2cd5e9f6f1b8388364ac",
      "tree": "c7c4e20d64f70cfd2167c73963e2437dee4c3d53",
      "parents": [
        "0a02ad9331dd4db56c29c60db2e99c4daaad8a48"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 12:12:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 10:22:37 2009 +0200"
      },
      "message": "perf sched: Import schedbench.c\n\nImport the schedbench.c tool that i wrote some time ago to\nsimulate scheduler behavior but never finished. It\u0027s a good\nbasis for perf sched nevertheless.\n\nMost of its guts are not hooked up to the perf event loop\nyet - that will be done in the patches to come.\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"
    }
  ],
  "next": "0a02ad9331dd4db56c29c60db2e99c4daaad8a48"
}
