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