perf tools powerpc: Cache the DWARF debug info
authorSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Wed, 22 Oct 2014 00:09:58 +0000 (17:09 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 29 Oct 2014 12:32:46 +0000 (10:32 -0200)
commit7d073b335edc8d97af730c2e3b83ed6642bd3c27
tree161f1cf4d4bf4f18c45a5e8de92a3ecc6b8027a2
parent4cdcc33db2f0455f297b4e14e434ba311ec5ca06
perf tools powerpc: Cache the DWARF debug info

Cache the DWARF debug info for DSO so we don't have to rebuild it for each
address in the DSO.

Note that dso__new() uses calloc() so don't need to set dso->dwfl to NULL.

$ /tmp/perf.orig --version
perf version 3.18.rc1.gc2661b8
$ /tmp/perf.new --version
perf version 3.18.rc1.g402d62
$ perf stat -e cycles,instructions /tmp/perf.orig report -g > orig

 Performance counter stats for '/tmp/perf.orig report -g':

     6,428,177,183 cycles                    #    0.000 GHz
     4,176,288,391 instructions              #    0.65  insns per cycle

       1.840666132 seconds time elapsed

$ perf stat -e cycles,instructions /tmp/perf.new report -g > new

 Performance counter stats for '/tmp/perf.new report -g':

       305,773,142 cycles                    #    0.000 GHz
       276,048,272 instructions              #    0.90  insns per cycle

       0.087693543 seconds time elapsed
$ diff orig new
$

Changelog[v2]:

[Arnaldo Carvalho] Cache in existing global objects rather than create
                   new static/globals in functions.

Reported-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Anton Blanchard <anton@au1.ibm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20141022000958.GB2228@us.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/powerpc/util/skip-callchain-idx.c
tools/perf/util/dso.h