original_kernel/tools/perf/util
Arnaldo Carvalho de Melo 9b33827de6 perf diff: Percent calcs should use double values
Otherwise we do integer math and the delta values round up to
multiples of 1.0%.

Also, calculate absolute values. Things look precise now:

$ perf report -i perf.data.old --sort dso,symbol | head -13
     9.02%  libc-2.10.1.so               [.] _IO_vfprintf_internal
     4.88%  find                         [.] 0x00000000014af0
     2.91%  [kernel]                     [k] __kmalloc
     2.85%  [kernel]                     [k] ext4_htree_store_dirent
     2.50%  libc-2.10.1.so               [.] __GI_memmove
     2.44%  [kernel]                     [k] half_md4_transform
     2.43%  [kernel]                     [k] _spin_lock
     2.33%  [kernel]                     [k] system_call
$ perf report -i perf.data --sort dso,symbol | head -13
     8.55%  libc-2.10.1.so               [.] _IO_vfprintf_internal
     3.11%  [kernel]                     [k] __kmalloc
     3.07%  [kernel]                     [k] ext4_htree_store_dirent
     2.66%  find                         [.] 0x00000000016bcf
     2.61%  [kernel]                     [k] _atomic_dec_and_lock
     2.46%  [kernel]                     [k] half_md4_transform
     2.41%  libc-2.10.1.so               [.] __GI_memmove
     2.30%  find                         [.] 0x00000000009219
$ perf diff | head -13
     9.02%     -0.47%  libc-2.10.1.so               [.] _IO_vfprintf_internal
     2.91%     +0.20%  [kernel]                     [k] __kmalloc
     2.85%     +0.23%  [kernel]                     [k] ext4_htree_store_dirent
     1.99%     +0.62%  [kernel]                     [k] _atomic_dec_and_lock
     2.44%     +0.02%  [kernel]                     [k] half_md4_transform
     2.50%     -0.09%  libc-2.10.1.so               [.] __GI_memmove
     1.88%     +0.01%  [kernel]                     [k] __d_lookup
     2.43%     -0.75%  [kernel]                     [k] _spin_lock
     0.97%     +0.62%  [kernel]                     [k] path_get
     1.99%     -0.42%  libc-2.10.1.so               [.] _int_malloc
$

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1260981109-2621-1-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-16 18:29:10 +01:00
..
include
PERF-VERSION-GEN
abspath.c
alias.c
cache.h
callchain.c
callchain.h
color.c
color.h
config.c
ctype.c
data_map.c perf session: Adopt the sample_type variable 2009-12-14 17:34:56 +01:00
debug.c
debug.h
debugfs.c
debugfs.h
environment.c
event.c perf report: Generalize perf_session__fprintf_hists() 2009-12-16 08:53:50 +01:00
event.h perf probe: Check build-id of vmlinux 2009-12-15 20:22:04 +01:00
exec_cmd.c
exec_cmd.h
generate-cmdlist.sh
header.c perf session: Ditch register_perf_file_handler 2009-12-14 16:57:15 +01:00
header.h perf tools: Introduce perf_session class 2009-12-12 07:42:12 +01:00
help.c
help.h
hist.c perf diff: Percent calcs should use double values 2009-12-16 18:29:10 +01:00
hist.h perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
levenshtein.c
levenshtein.h
map.c perf probe: Check build-id of vmlinux 2009-12-15 20:22:04 +01:00
pager.c
parse-events.c perf tools: Optimize parse_subsystem_tracepoint_event() 2009-12-07 08:09:29 +01:00
parse-events.h
parse-options.c perf tools: Align long options which have no short forms 2009-12-10 08:30:28 +01:00
parse-options.h
path.c
probe-event.c perf probe: Fix to show which probe point is not found 2009-12-15 20:22:05 +01:00
probe-event.h perf probe: Fix to show which probe point is not found 2009-12-15 20:22:05 +01:00
probe-finder.c perf probe: Show need-dwarf message only if it is really needed 2009-12-15 20:22:01 +01:00
probe-finder.h perf probe: Support event name for --add option 2009-12-15 20:22:03 +01:00
quote.c
quote.h
run-command.c
run-command.h
session.c perf report: Generalize perf_session__fprintf_hists() 2009-12-16 08:53:50 +01:00
session.h perf report: Generalize perf_session__fprintf_hists() 2009-12-16 08:53:50 +01:00
sigchain.c
sigchain.h
sort.c perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
sort.h perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
strbuf.c
strbuf.h
string.c perf probe: Add glob matching support on --del 2009-12-15 20:22:03 +01:00
string.h perf probe: Add glob matching support on --del 2009-12-15 20:22:03 +01:00
strlist.c perf probe: Fix --del to update current event list 2009-12-15 20:22:01 +01:00
strlist.h perf tools: Add for_each macros for strlist 2009-12-15 20:22:02 +01:00
svghelper.c
svghelper.h
symbol.c perf report: Generalize perf_session__fprintf_hists() 2009-12-16 08:53:50 +01:00
symbol.h perf report: Generalize perf_session__fprintf_hists() 2009-12-16 08:53:50 +01:00
thread.c perf session: Move kmaps to perf_session 2009-12-14 16:57:17 +01:00
thread.h perf session: Move kmaps to perf_session 2009-12-14 16:57:17 +01:00
trace-event-info.c
trace-event-parse.c perf tools: Correct size given to memset 2009-12-10 08:30:26 +01:00
trace-event-perl.c perf trace/scripting: Check return val of perl_run() 2009-12-15 10:31:32 +01:00
trace-event-perl.h perf trace/scripting: Fix compile error when libperl not installed 2009-12-07 06:31:37 +01:00
trace-event-read.c perf tools: Misc small fixes 2009-12-06 18:15:02 +01:00
trace-event.h perf trace/scripting: Add support for script args 2009-12-15 10:31:31 +01:00
types.h
usage.c
util.h perf tools: Remove unused wrapper routines 2009-11-24 16:37:03 +01:00
values.c
values.h
wrapper.c perf tools: Remove unused wrapper routines 2009-11-24 16:37:03 +01:00