)]}'
{
  "log": [
    {
      "commit": "1a1ed1ba6778a5bc5702cebe276ab080a0b78115",
      "tree": "3a7510bed531918909ef1208eb31b93996765e6b",
      "parents": [
        "2eeaaa095d155d47d47d5df07571105b8ae76ffd"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue May 15 13:28:11 2012 +0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue May 22 12:59:28 2012 -0300"
      },
      "message": "perf inject: Fix broken perf inject -b\n\nperf inject -b was broken. It would not inject any build_id into the\nstream. Furthermore, it would strip samples from the stream.\n\nThe reason was a missing initialization of the event attribute\nstructure. The perf_tool.tool.attr() callback was pointing to a simple\nrepipe. But there was no initialization of the internal data structures\nto keep track of events and event ids. That later caused event id\nlookups to fail, and sample would get removed.\n\nThe patch simply adds back the call to perf_event__process_attr() to\ninitialize the evlist structure and now build_ids are again injected.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: David Ahern \u003cdsahern@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1337081295-10303-2-git-send-email-eranian@google.com\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": "10d0f086df77f3ff259b46cb501362dbaf2c7989",
      "tree": "69c8d8ccca5545c524abe0ac52a149e78fbc279f",
      "parents": [
        "81e36bffad95e015af9741b5b1ee16afe08aab05"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Nov 11 22:45:41 2011 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Nov 28 10:37:43 2011 -0200"
      },
      "message": "perf event: perf_event_ops-\u003eattr() manipulates only an evlist\n\nRemoving another case where a perf_session is required when processing\nevents.\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-ug1wtjbnva4bxwknflkkrlrh@git.kernel.org\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": "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": "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": "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": "11d232ec285b07860670277c8ab3f6076f7bce1e",
      "tree": "6170a37b3b1564be258c8e8cb1a95fbe507ee973",
      "parents": [
        "63e0c7715aab6085faa487d498889f4361dc6542"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue May 04 10:48:22 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue May 04 10:48:22 2010 -0300"
      },
      "message": "perf inject: Add missing bits\n\nNew commands need to have Documentation and be added to command-list.txt\nso that they can appear when \u0027perf\u0027 is called withouth any subcommand:\n\n[root@doppio linux-2.6-tip]# perf\n\n usage: perf [--version] [--help] COMMAND [ARGS]\n\n The most commonly used perf commands are:\n   annotate        Read perf.data (created by perf record) and display annotated code\n   archive         Create archive with object files with build-ids found in perf.data file\n   bench           General framework for benchmark suites\n   buildid-cache   Manage build-id cache.\n   buildid-list    List the buildids in a perf.data file\n   diff            Read two perf.data files and display the differential profile\n   inject          Filter to augment the events stream with additional information\n   kmem            Tool to trace/measure kernel memory(slab) properties\n   kvm             Tool to trace/measure kvm guest os\n   list            List all symbolic event types\n   lock            Analyze lock events\n   probe           Define new dynamic tracepoints\n   record          Run a command and record its profile into perf.data\n   report          Read perf.data (created by perf record) and display the profile\n   sched           Tool to trace/measure scheduler properties (latencies)\n   stat            Run a command and gather performance counter statistics\n   test            Runs sanity tests.\n   timechart       Tool to visualize total system behavior during a workload\n   top             System profiling tool.\n   trace           Read perf.data (created by perf record) and display trace output\n\n See \u0027perf help COMMAND\u0027 for more information on a specific command.\n\n[root@doppio linux-2.6-tip]#\n\nThe new \u0027perf inject\u0027 command hadn\u0027t so it wasn\u0027t appearing on that list.\n\nAlso fix the long option, that should have no spaces in it, rename the faulty one\nto be \u0027--build-ids\u0027, instead of \u0027--inject build-ids\u0027.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "090f7204dfdb5d7f18208ea81dfdba845897cedd",
      "tree": "19988fe463ec3dc964d2790bf1bcfaa29dff73c8",
      "parents": [
        "2c9faa060064343a4a0b16f5b77f3c61d1d17e23"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 02 19:46:36 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 02 19:46:36 2010 -0300"
      },
      "message": "perf inject: Refactor read_buildid function\n\nInto two functions, one that actually reads the build_id for the dso if\nit wasn\u0027t already read, and another taht will inject the event if the\nbuild_id is available.\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"
    }
  ]
}
