)]}'
{
  "log": [
    {
      "commit": "ef9dfe6ec3e409b68e35c05b882d636140bb3fa7",
      "tree": "c7bdca5ac0fde2bc08c3f4f52ce19ccf0c3c86ca",
      "parents": [
        "42b28ac071a1a239d2a48965e9d6be0e061dd103"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Sep 26 12:46:11 2011 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Oct 07 12:11:49 2011 -0300"
      },
      "message": "perf hists: Allow limiting the number of rows and columns in fprintf\n\nSo that we can reuse hists__fprintf for in the new perf top tool.\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-huazw48x05h8r9niz5cf63za@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": "ec5761eab318e50e69fcf8e63e9edaef5949c067",
      "tree": "b81fa986f8c61f3cdcbbf11bc1195db65e8cd036",
      "parents": [
        "eac23d1c384b55e4bbb89ea9e5a6bb77fb4d1140"
      ],
      "author": {
        "name": "David Ahern",
        "email": "daahern@cisco.com",
        "time": "Thu Dec 09 13:27:07 2010 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 21 20:17:51 2010 -0200"
      },
      "message": "perf symbols: Add symfs option for off-box analysis using specified tree\n\nThe symfs argument allows analysis of perf.data file using a locally accessible\nfilesystem tree with debug symbols - e.g., tree created during image builds,\nsshfs mount, loop mounted KVM disk images, USB keys, initrds, etc. Anything\nwith an OS tree can be analyzed from anywhere without the need to populate a\nlocal data store with build-ids.\n\nCommiter notes:\n\no Fixed up symfs\u003d\"/\" variants handling.\n\no prefixed DSO__ORIG_GUEST_KMODULE case with symfs too, avoiding use of files\n  outside the symfs directory.\n\nLKML-Reference: \u003c1291926427-28846-1-git-send-email-daahern@cisco.com\u003e\nSigned-off-by: David Ahern \u003cdaahern@cisco.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "eac23d1c384b55e4bbb89ea9e5a6bb77fb4d1140",
      "tree": "dbf4c419ddb9954a9879b7c6bc34f2a812402c8c",
      "parents": [
        "21ef97f05a7da5bc23b26cb34d6746f83ca9bf20"
      ],
      "author": {
        "name": "Ian Munsie",
        "email": "imunsie@au1.ibm.com",
        "time": "Thu Dec 09 16:33:53 2010 +1100"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 21 20:17:51 2010 -0200"
      },
      "message": "perf record,report,annotate,diff: Process events in order\n\nThis patch changes perf report to ask for the ID info on all events be\ndefault if recording from multiple CPUs.\n\nPerf report, annotate and diff will now process the events in order if\nthe kernel is able to provide timestamps on all events. This ensures\nthat events such as COMM and MMAP which are necessary to correctly\ninterpret samples are processed prior to those samples so that they are\nattributed correctly.\n\nBefore:\n # perf record ./cachetest\n # perf report\n\n # Events: 6K cycles\n #\n # Overhead  Command      Shared Object                           Symbol\n # ........  .......  .................  ...............................\n #\n     74.11%    :3259  [unknown]          [k] 0x4a6c\n      1.50%  cachetest  ld-2.11.2.so       [.] 0x1777c\n      1.46%    :3259  [kernel.kallsyms]  [k] .perf_event_mmap_ctx\n      1.25%    :3259  [kernel.kallsyms]  [k] restore\n      0.74%    :3259  [kernel.kallsyms]  [k] ._raw_spin_lock\n      0.71%    :3259  [kernel.kallsyms]  [k] .filemap_fault\n      0.66%    :3259  [kernel.kallsyms]  [k] .memset\n      0.54%  cachetest  [kernel.kallsyms]  [k] .sha_transform\n      0.54%    :3259  [kernel.kallsyms]  [k] .copy_4K_page\n      0.54%    :3259  [kernel.kallsyms]  [k] .find_get_page\n      0.52%    :3259  [kernel.kallsyms]  [k] .trace_hardirqs_off\n      0.50%    :3259  [kernel.kallsyms]  [k] .__do_fault\n\u003cSNIP\u003e\n\nAfter:\n # perf report\n\n # Events: 6K cycles\n #\n # Overhead  Command      Shared Object                           Symbol\n # ........  .......  .................  ...............................\n #\n     44.28%  cachetest  cachetest          [.] sumArrayNaive\n     22.53%  cachetest  cachetest          [.] sumArrayOptimal\n      6.59%  cachetest  ld-2.11.2.so       [.] 0x1777c\n      2.13%  cachetest  [unknown]          [k] 0x340\n      1.46%  cachetest  [kernel.kallsyms]  [k] .perf_event_mmap_ctx\n      1.25%  cachetest  [kernel.kallsyms]  [k] restore\n      0.74%  cachetest  [kernel.kallsyms]  [k] ._raw_spin_lock\n      0.71%  cachetest  [kernel.kallsyms]  [k] .filemap_fault\n      0.66%  cachetest  [kernel.kallsyms]  [k] .memset\n      0.54%  cachetest  [kernel.kallsyms]  [k] .copy_4K_page\n      0.54%  cachetest  [kernel.kallsyms]  [k] .find_get_page\n      0.54%  cachetest  [kernel.kallsyms]  [k] .sha_transform\n      0.52%  cachetest  [kernel.kallsyms]  [k] .trace_hardirqs_off\n      0.50%  cachetest  [kernel.kallsyms]  [k] .__do_fault\n\u003cSNIP\u003e\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1291872833-839-1-git-send-email-imunsie@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": "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": "342955593af08f185279e074b3d77719d2f23b82",
      "tree": "6cfbb891bb96c01837f9d03f3d1a6ee9326cd680",
      "parents": [
        "b6a535dbf615e168e796eec7318c77d1a3b7047f"
      ],
      "author": {
        "name": "Shawn Bohrer",
        "email": "shawn.bohrer@gmail.com",
        "time": "Tue Nov 30 19:57:11 2010 -0600"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 01 18:22:45 2010 -0200"
      },
      "message": "perf diff: Fix displacement and modules options short flag\n\nThe --displacement and --modules options to perf diff both use -m as a\nshort flag.  Change --displacement to use -M since other perf commands\nuse -m, --modules.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1291168642-11402-4-git-send-email-shawn.bohrer@gmail.com\u003e\nSigned-off-by: Shawn Bohrer \u003cshawn.bohrer@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "88ca895dd4e0e64ebd942adb7925fa60ca5b2a98",
      "tree": "f3680bbdcd63e60068fe18ec0c34d8f99e0519fe",
      "parents": [
        "361d13462585474267a0c41e956f1a1c19a93f17"
      ],
      "author": {
        "name": "Dave Martin",
        "email": "dave.martin@linaro.org",
        "time": "Tue Jul 27 11:46:12 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Jul 27 11:46:12 2010 -0300"
      },
      "message": "perf tools: Remove unneeded code for tracking the cwd in perf sessions\n\nTidy-up patch to remove some code and struct perf_session data members\nwhich are no longer needed due to the previous patch: \"perf tools: Don\u0027t\nabbreviate file paths relative to the cwd\".\n\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Dave Martin \u003cdave.martin@linaro.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "41a37e20178b081193b08b228030d8f562bfee62",
      "tree": "126bc2f2f11231955fad89bf2ef6e83969b6325e",
      "parents": [
        "45d8e8025a2b2a6996be92d769fb6763bfb3cbae"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jun 04 08:02:07 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Jun 05 09:35:19 2010 -0300"
      },
      "message": "perf tools: Make event__preprocess_sample parse the sample\n\nSimplifying the tools that were using both in sequence and allowing\nupcoming simplifications, such as Arun\u0027s patch to sort by cpus.\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c82ee828aa20487d254a5225d256cd422acee459",
      "tree": "6f8132442237bc4f2393e04a5f30b3711a8f91ca",
      "parents": [
        "cee75ac7ecc27084accdb9d9d6fde65a09f047ae"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 14 14:19:35 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 14 14:19:35 2010 -0300"
      },
      "message": "perf report: Report number of events, not samples\n\nNumber of samples is meaningless after we switched to auto-freq, so\nreport the number of events, i.e. not the sum of the different periods,\nbut the number PERF_RECORD_SAMPLE emitted by the kernel.\n\nWhile doing this I noticed that naming \"count\" to the sum of all the\nevent periods can be confusing, so rename it to .period, just like in\nstruct sample.data, so that we become more consistent.\n\nThis helps with the next step, that was to record in struct hist_entry\nthe number of sample events for each instance, we need that because we\nuse it to generate the number of events when applying filters to the\ntree of hist entries like it is being done in the TUI report browser.\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: 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": "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": "1c02c4d2e92f2097f1bba63ec71560b0e05a7f36",
      "tree": "ad2a722931398ce3cd3ae850c4cfa148558a52ea",
      "parents": [
        "d118f8ba6ac2af2bf11d40cba657c813f0f39ca2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 10 13:04:11 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon May 10 13:13:49 2010 -0300"
      },
      "message": "perf hist: Introduce hists class and move lots of methods to it\n\nIn cbbc79a we introduced support for multiple events by introducing a\nnew \"event_stat_id\" struct and then made several perf_session methods\nreceive a point to it instead of a pointer to perf_session, and kept the\nevent_stats and hists rb_tree in perf_session.\n\nWhile working on the new newt based browser, I realised that it would be\nbetter to introduce a new class, \"hists\" (short for \"histograms\"),\nrenaming the \"event_stat_id\" struct and the perf_session methods that\nwere really \"hists\" methods, as they manipulate only struct hists\nmembers, not touching anything in the other perf_session members.\n\nOther optimizations, such as calculating the maximum lenght of a symbol\nname present in an hists instance will be possible as we add them,\navoiding a re-traversal just for finding that information.\n\nThe rationale for the name \"hists\" to replace \"event_stat_id\" is that we\nmay have multiple sets of hists for the same event_stat id, as, for\ninstance, the \u0027perf diff\u0027 tool has, so event stat id is not what\ncharacterizes what this struct and the functions that manipulate it do.\n\nCc: Eric B Munson \u003cebmunson@us.ibm.com\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": "28e2a106d16046ca792722795f809e3f80a5af80",
      "tree": "c84149ddf45d02044187fe4511cead93d009b6ee",
      "parents": [
        "39d1e1b1e26dc84d40bf2792287d0d61e44b57df"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 09 13:02:23 2010 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun May 09 13:10:39 2010 -0300"
      },
      "message": "perf hist: Simplify the insertion of new hist_entry instances\n\nAnd with that fix at least one bug:\n\nThe first hit for an entry, the one that calls malloc to create a new\ninstance in __perf_session__add_hist_entry, wasn\u0027t adding the count to\nthe per cpumode (PERF_RECORD_MISC_USER, etc) total variable.\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": "a1645ce12adb6c9cc9e19d7695466204e3f017fe",
      "tree": "5d31aaaf534997e6e9cebc07f38eca35f76986cf",
      "parents": [
        "ff9d07a0e7ce756a183e7c2e483aec452ee6b574"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Apr 19 13:32:50 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Apr 19 12:37:24 2010 +0300"
      },
      "message": "perf: \u0027perf kvm\u0027 tool for monitoring guest performance from host\n\nHere is the patch of userspace perf tool.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "c05556421742eb47f80301767653a4bcb19de9de",
      "tree": "1e9c441a457acee41d2585e05692cc90c1d88be2",
      "parents": [
        "53e5b5c215ce8372250e227f2c9acf9892de8434"
      ],
      "author": {
        "name": "Ian Munsie",
        "email": "imunsie@au.ibm.com",
        "time": "Tue Apr 13 18:37:33 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 14 11:26:44 2010 +0200"
      },
      "message": "perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR()\n\nParsing an option from the command line with OPT_BOOLEAN on a\nbool data type would not work on a big-endian machine due to the\nmanner in which the boolean was being cast into an int and\nincremented. For example, running \u0027perf probe --list\u0027 on a\nPowerPC machine would fail to properly set the list_events bool\nand would therefore print out the usage information and\nterminate.\n\nThis patch makes OPT_BOOLEAN work as expected with a bool\ndatatype. For cases where the original OPT_BOOLEAN was\nintentionally being used to increment an int each time it was\npassed in on the command line, this patch introduces OPT_INCR\nwith the old behaviour of OPT_BOOLEAN (the verbose variable is\ncurrently the only such example of this).\n\nI have reviewed every use of OPT_BOOLEAN to verify that a true\nC99 bool was passed. Where integers were used, I verified that\nthey were only being used for boolean logic and changed them to\nbools to ensure that they would not be mistakenly used as ints.\nThe major exception was the verbose variable which now uses\nOPT_INCR instead of OPT_BOOLEAN.\n\nSigned-off-by: Ian Munsie \u003cimunsie@au.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \u003cstable@kernel.org\u003e # NOTE: wont apply to .3[34].x cleanly, please backport\nCc: Git development list \u003cgit@vger.kernel.org\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nCc: Valdis.Kletnieks@vt.edu\nCc: WANG Cong \u003camwang@redhat.com\u003e\nCc: Thiago Farina \u003ctfransosi@gmail.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1271147857-11604-1-git-send-email-imunsie@au.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eefc465cdd49cb89a742083fac2807c718ddad31",
      "tree": "9b16f03050d831ab357b2d0e40f694369135e787",
      "parents": [
        "cb8f09393646c5058056db771583c86e0ed1d92f"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Fri Mar 05 12:51:08 2010 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:53:49 2010 +0100"
      },
      "message": "perf session: Change perf_session post processing functions to take histogram tree\n\nNow that report can store historgrams for multiple events we\nneed to be able to do the post processing work for each\nhistogram. This patch changes the post processing functions so\nthat they can be called individually for each event\u0027s histogram.\n\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\n[ Guarantee bisectabilty by fixing up builtin-report.c ]\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1267804269-22660-5-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d403d0acc9c5afa679a3f61e71489530d7fa0606",
      "tree": "6f281b520792a11b2f4f9fffea90b978c6a12f11",
      "parents": [
        "8907fd607b66e36636469a2de9833db643869db8"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Fri Mar 05 12:51:06 2010 -0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:53:47 2010 +0100"
      },
      "message": "perf session: Change add_hist_entry to take the tree root instead of session\n\nIn order to minimize the impact of storing multiple events in a\nreport this function will now take the root of the histogram\ntree so that the logic for selecting the proper tree can be\ninserted before the call.\n\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1267804269-22660-3-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "9c443dfdd31eddea6cbe6ee0ca469fbcc4e1dc3b",
      "tree": "6e217aaf89b941fbbc7b905046d5350392d642db",
      "parents": [
        "cdbae31408cf39372402076cf2e189ec693daa71"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Dec 28 22:48:36 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 30 12:00:00 2009 +0100"
      },
      "message": "perf diff: Fix support for all --sort combinations\n\nWhen we finish creating the hist_entries we _already_ have them\nsorted \"by name\", in fact by what is in --sort, that is exactly\nhow we can find the pairs in perf_session__match_hists as\n\u0027comm\u0027, \u0027dso\u0027 \u0026 \u0027symbol\u0027 all are strings we need to find the\nmatches in the baseline session.\n\nSo only do the sort by hits followed by a resort by --sort if we\nneed to find the position for shwowing the --displacement of\nhist entries.\n\nNow all these modes work correctly:\n\nExample is a simple \u0027perf record -f find / \u003e /dev/null\u0027 ran\ntwice then followed by the following commands:\n\n  $ perf diff -f --sort comm\n  # Baseline  Delta      Command\n  # ........ ..........  .......\n  #\n       0.00%   +100.00%     find\n  $ perf diff -f --sort dso\n  # Baseline  Delta           Shared Object\n  # ........ ..........  ..................\n  #\n      59.97%     -0.44%  [kernel]\n      21.17%     +0.28%  libc-2.5.so\n      18.49%     +0.16%  [ext3]\n       0.37%             find\n  $ perf diff -f --sort symbol | head -8\n  # Baseline  Delta      Symbol\n  # ........ ..........  ......\n  #\n       6.21%     +0.36%  [k] ext3fs_dirhash\n       3.43%     +0.41%  [.] __GI_strlen\n       3.53%     +0.16%  [k] __kmalloc\n       3.17%     +0.49%  [k] system_call\n       3.06%     +0.37%  [k] ext3_htree_store_dirent\n  $ perf diff -f --sort dso,symbol | head -8\n  # Baseline  Delta           Shared Object  Symbol\n  # ........ ..........  ..................  ......\n  #\n       6.21%     +0.36%  [ext3]              [k] ext3fs_dirhash\n       3.43%     +0.41%  libc-2.5.so         [.] __GI_strlen\n       3.53%     +0.16%  [kernel]            [k] __kmalloc\n       3.17%     +0.49%  [kernel]            [k] system_call\n       3.06%     +0.37%  [ext3]              [k] ext3_htree_store_dirent\n  $\n\nAnd we don\u0027t have to do two expensive resorts in the common, non\n--displacement case.\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: \u003c1262047716-23171-5-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdbae31408cf39372402076cf2e189ec693daa71",
      "tree": "95b8eaf8b90ef6b5ef6bf8db548ee80cc11ec300",
      "parents": [
        "71289be7630fb97f2de6bb2e18a50289dc869f9d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Dec 28 22:48:35 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 30 11:59:59 2009 +0100"
      },
      "message": "perf diff: Don\u0027t add the period for unresolved symbols\n\nSince we don\u0027t add histograms buckets for them, this way the sum\nof baselines should be 100%.\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: \u003c1262047716-23171-4-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": "f7d87444e6ee6f4a19634e5412664c1c529a2370",
      "tree": "51276ba205c80aa13e9345888351fc89d74b876a",
      "parents": [
        "31d337c4ee3152b7271897eae576251643f5a3b5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Dec 27 21:37:04 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 09:03:35 2009 +0100"
      },
      "message": "perf session: Move full_paths config to symbol_conf\n\nNow perf_event_ops has just that, event handlers.\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-8-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0422a4fc2c6a41c3d4184984797512af2650014e",
      "tree": "9360c59733c31e1bbf160c4d089942c04082cfb4",
      "parents": [
        "b5b60fda1e462a849bc37dfbace2888191be82cc"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 18 16:35:58 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 18 20:01:52 2009 +0100"
      },
      "message": "perf diff: Fix usage array, it must end with a NULL entry\n\nFixing this:\n\n [acme@doppio linux-2.6-tip]$ perf diff --hell\n   Error: unknown option `hell\u0027\n\n  usage: perf diff [\u003coptions\u003e] [old_file] [new_file]\n Segmentation fault\n [acme@doppio linux-2.6-tip]$\n\nAlso go over the other such arrays to check if they all were OK,\nthey are, but there were some minor changes to do like making\none static and renaming another to match the command it refers\nto.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: 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\nLKML-Reference: \u003c1261161358-23959-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "604c5c92972dcb4b98be34775452d09a5d4ec248",
      "tree": "3f4ef659340f70780d41d3850fc5f9de13fc8719",
      "parents": [
        "c351c2816177eb7d2979ec874b9b895abe9d6e5c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 16 14:09:53 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 18:13:40 2009 +0100"
      },
      "message": "perf diff: Change the default sort order to \"dso,symbol\"\n\nThis is a more intuitive / more meaningful default:\n\n$ perf diff | head -8\n     9.02%     +1.00%  libc-2.10.1.so               [.] _IO_vfprintf_internal\n     2.91%     -1.00%  [kernel]                     [k] __kmalloc\n     2.85%     -1.00%  [kernel]                     [k] ext4_htree_store_dirent\n     1.99%     -1.00%  [kernel]                     [k] _atomic_dec_and_lock\n     2.44%             [kernel]\n$\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1260979793-1981-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c351c2816177eb7d2979ec874b9b895abe9d6e5c",
      "tree": "b6dd7fb4a5e048168319111e18082025c2e93f1b",
      "parents": [
        "125c4fad1e60751ceaab1ee2a73bddf31213e5ca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Dec 16 13:49:27 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 16:53:37 2009 +0100"
      },
      "message": "perf diff: Use perf_session__fprintf_hists just like \u0027perf record\u0027\n\nThat means that almost everything you can do with \u0027perf report\u0027\ncan be done with \u0027perf diff\u0027, for instance:\n\n$ perf record -f find / \u003e /dev/null\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.062 MB perf.data (~2699\nsamples) ] $ perf record -f find / \u003e /dev/null\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.062 MB perf.data (~2687\nsamples) ] perf diff | head -8\n     9.02%     +1.00%     find  libc-2.10.1.so               [.] _IO_vfprintf_internal\n     2.91%     -1.00%     find  [kernel]                     [k] __kmalloc\n     2.85%     -1.00%     find  [kernel]                     [k] ext4_htree_store_dirent\n     1.99%     -1.00%     find  [kernel]                     [k] _atomic_dec_and_lock\n     2.44%                find  [kernel]                     [k] half_md4_transform\n$\n\nSo if you want to zoom into libc:\n\n$ perf diff --dsos libc-2.10.1.so | head -8\n    37.34%                find  [.] _IO_vfprintf_internal\n    10.34%                find  [.] __GI_memmove\n     8.25%     +2.00%     find  [.] _int_malloc\n     5.07%     -1.00%     find  [.] __GI_mempcpy\n     7.62%     +2.00%     find  [.] _int_free\n$\n\nAnd if there were multiple commands using libc, it is also\npossible to aggregate them all by using --sort symbol:\n\n$ perf diff --dsos libc-2.10.1.so --sort symbol | head -8\n    37.34%             [.] _IO_vfprintf_internal\n    10.34%             [.] __GI_memmove\n     8.25%     +2.00%  [.] _int_malloc\n     5.07%     -1.00%  [.] __GI_mempcpy\n     7.62%     +2.00%  [.] _int_free\n$\n\nThe displacement column now is off by default, to use it:\n\nperf diff -m --dsos libc-2.10.1.so --sort symbol | head -8\n    37.34%                   [.] _IO_vfprintf_internal\n    10.34%                   [.] __GI_memmove\n     8.25%     +2.00%        [.] _int_malloc\n     5.07%     -1.00%    +2  [.] __GI_mempcpy\n     7.62%     +2.00%    -1  [.] _int_free\n$\n\nUsing -t/--field-separator can be used for scripting:\n\n$ perf diff -t, -m --dsos libc-2.10.1.so --sort symbol | head -8\n37.34, , ,[.] _IO_vfprintf_internal\n10.34, , ,[.] __GI_memmove\n8.25,+2.00%, ,[.] _int_malloc\n5.07,-1.00%,  +2,[.] __GI_mempcpy\n7.62,+2.00%,  -1,[.] _int_free\n6.99,+1.00%,  -1,[.] _IO_new_file_xsputn\n1.89,-2.00%,  +4,[.] __readdir64\n$\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: \u003c1260978567-550-1-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c410a33887c17cac95ed8b0d860cdfb5c087a7d8",
      "tree": "54fe6ed5ac64ff77763ff686af58bd36b04e73d6",
      "parents": [
        "655000e7c75a559681ee7f15f6fa870c80ae3194"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 15 20:04:41 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 08:53:49 2009 +0100"
      },
      "message": "perf symbols: Move symbol filtering to event__preprocess_sample()\n\nSo that --dsos, --comm, --symbols can bem used in more tools,\nlike in perf diff:\n\n$ perf record -f find / \u003e /dev/null\n$ perf record -f find / \u003e /dev/null\n$ perf diff --dsos /lib64/libc-2.10.1.so | head -5\n   1        +22392124     /lib64/libc-2.10.1.so   _IO_vfprintf_internal\n   2         +6410655     /lib64/libc-2.10.1.so   __GI_memmove\n   3    +1   +9192692     /lib64/libc-2.10.1.so   _int_malloc\n   4    -1  -15158605     /lib64/libc-2.10.1.so   _int_free\n   5           +45669     /lib64/libc-2.10.1.so   _IO_new_file_xsputn\n$\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-3-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "655000e7c75a559681ee7f15f6fa870c80ae3194",
      "tree": "69a56e19c818b0929dbea8d119fa133853c5ee80",
      "parents": [
        "75be6cf48738aec68aac49b428423569492cfba3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Dec 15 20:04:40 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 08:53:49 2009 +0100"
      },
      "message": "perf symbols: Adopt the strlists for dso, comm\n\nWill be used in perf diff too.\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-2-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": "86a9eee047ba09a714c3b8e27c9df2bbf715393a",
      "tree": "09c096e92b583f42480ac1dbe7dfa45eae1a7f31",
      "parents": [
        "b38d34645cc52136b6c99623fef7ded26742e573"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Dec 14 20:09:31 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 15 08:50:29 2009 +0100"
      },
      "message": "perf diff: Introduce tool to show performance difference\n\nI guess it is enough to show some examples:\n\n[root@doppio linux-2.6-tip]# rm -f perf.data*\n[root@doppio linux-2.6-tip]# ls -la perf.data*\nls: cannot access perf.data*: No such file or directory\n[root@doppio linux-2.6-tip]# perf record -f find / \u003e /dev/null\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.062 MB perf.data (~2699 samples) ]\n[root@doppio linux-2.6-tip]# ls -la perf.data*\n-rw------- 1 root root 74440 2009-12-14 20:03 perf.data\n[root@doppio linux-2.6-tip]# perf record -f find / \u003e /dev/null\n[ perf record: Woken up 1 times to write data ]\n[ perf record: Captured and wrote 0.062 MB perf.data (~2692 samples) ]\n[root@doppio linux-2.6-tip]# ls -la perf.data*\n-rw------- 1 root root 74280 2009-12-14 20:03 perf.data\n-rw------- 1 root root 74440 2009-12-14 20:03 perf.data.old\n[root@doppio linux-2.6-tip]# perf diff | head -5\n   1        -34994580     /lib64/libc-2.10.1.so   _IO_vfprintf_internal\n   2        -15307806         [kernel.kallsyms]   __kmalloc\n   3    +1   +3665941     /lib64/libc-2.10.1.so   __GI_memmove\n   4    +4  +23508995     /lib64/libc-2.10.1.so   _int_malloc\n   5    +7  +38538813         [kernel.kallsyms]   __d_lookup\n[root@doppio linux-2.6-tip]# perf diff -p | head -5\n   1        +1.00%     /lib64/libc-2.10.1.so   _IO_vfprintf_internal\n   2                       [kernel.kallsyms]   __kmalloc\n   3    +1             /lib64/libc-2.10.1.so   __GI_memmove\n   4    +4             /lib64/libc-2.10.1.so   _int_malloc\n   5    +7  -1.00%         [kernel.kallsyms]   __d_lookup\n[root@doppio linux-2.6-tip]# perf diff -v | head -5\n   1        361449551 326454971 -34994580     /lib64/libc-2.10.1.so   _IO_vfprintf_internal\n   2        151009241 135701435 -15307806         [kernel.kallsyms]   __kmalloc\n   3    +1  101805328 105471269  +3665941     /lib64/libc-2.10.1.so   __GI_memmove\n   4    +4   78041440 101550435 +23508995     /lib64/libc-2.10.1.so   _int_malloc\n   5    +7   59536172  98074985 +38538813         [kernel.kallsyms]   __d_lookup\n[root@doppio linux-2.6-tip]# perf diff -vp | head -5\n   1        9.00% 8.00% +1.00%     /lib64/libc-2.10.1.so   _IO_vfprintf_internal\n   2        3.00% 3.00%                [kernel.kallsyms]   __kmalloc\n   3    +1  2.00% 2.00%            /lib64/libc-2.10.1.so   __GI_memmove\n   4    +4  2.00% 2.00%            /lib64/libc-2.10.1.so   _int_malloc\n   5    +7  1.00% 2.00% -1.00%         [kernel.kallsyms]   __d_lookup\n[root@doppio linux-2.6-tip]#\n\nThis should be enough for diffs where the system is non\nvolatile, i.e. when one doesn\u0027t updates binaries.\n\nFor volatile environments, stay tuned for the next perf tool\nfeature: a buildid cache populated by \u0027perf record\u0027, managed by\n\u0027perf buildid-cache\u0027 a-la ccache, and used by all the report\ntools.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.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\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1260828571-3613-3-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
