1
linux/tools/perf/util
Arnaldo Carvalho de Melo b5b60fda1e perf session: Make events_stats u64 to avoid overflow on 32-bit arches
Pekka Enberg reported weird percentages in perf report. It
turns out we are overflowing a 32-bit variables in struct
events_stats on 32-bit architectures.

Before:

 [acme@ana linux-2.6-tip]$ perf report -i pekka.perf.data 2> /dev/null | head -10
   281.96%       Xorg                        b710a561  [.] 0x000000b710a561
   140.15%       Xorg  [kernel]                        [k] __initramfs_end
    51.56%   metacity  libgobject-2.0.so.0.2000.1      [.] 0x00000000026e46
    35.12%  evolution  libcairo.so.2.10800.6           [.] 0x000000000203bd
    33.84%   metacity  libpthread-2.9.so               [.] 0x00000000007a3d

After:

 [acme@ana linux-2.6-tip]$ perf report -i pekka.perf.data 2> /dev/null | head -10
    30.04%       Xorg                       b710a561   [.] 0x000000b710a561
    14.93%       Xorg  [kernel]                        [k] __initramfs_end
     5.49%   metacity  libgobject-2.0.so.0.2000.1      [.] 0x00000000026e46
     3.74%  evolution  libcairo.so.2.10800.6           [.] 0x000000000203bd
     3.61%   metacity  libpthread-2.9.so               [.] 0x00000000007a3d

Reported-by: Pekka Enberg <penberg@cs.helsinki.fi>
Tested-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic 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: <1261148583-20395-1-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-18 16:22:52 +01:00
..
include
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 session: Make events_stats u64 to avoid overflow on 32-bit arches 2009-12-18 16:22:52 +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
PERF-VERSION-GEN
probe-event.c perf probe: Check new event name 2009-12-17 09:42:44 +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: Fix libdwarf include path for Debian 2009-12-17 08:06:41 +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
values.c
values.h
wrapper.c