1
0
Fork 0
alistair23-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 perf symbols: Simplify symbol machinery setup 2009-11-24 16:37:02 +01:00
PERF-VERSION-GEN perf tools: Bump version to 0.0.2 2009-10-16 10:34:28 +02:00
abspath.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
alias.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
cache.h perf tools: Do not manually count string lengths 2009-10-13 11:55:31 +02:00
callchain.c perf tools: Unify debug messages mechanisms 2009-10-23 08:22:47 +02:00
callchain.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
color.c perf tools: Librarize trace_event() helper 2009-08-16 23:06:45 +02:00
color.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
config.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
ctype.c perf tools: Move graph_line and graph_dotted_line from top 2009-11-23 21:55:20 +01:00
data_map.c perf session: Adopt the sample_type variable 2009-12-14 17:34:56 +01:00
debug.c perf tools: Unify debug messages mechanisms 2009-10-23 08:22:47 +02:00
debug.h perf tools: Debug.h needs to include event.h for event_t 2009-11-16 22:05:50 +01:00
debugfs.c perf tools: Add debugfs utility routines for perf 2009-11-08 18:01:34 +01:00
debugfs.h perf tools: Add debugfs utility routines for perf 2009-11-08 18:01:34 +01:00
environment.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
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 perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
exec_cmd.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
generate-cmdlist.sh perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
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 perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
help.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
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 perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
levenshtein.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
map.c perf probe: Check build-id of vmlinux 2009-12-15 20:22:04 +01:00
pager.c perf_counter tools: Remove dead code 2009-06-27 06:06:39 +02:00
parse-events.c perf tools: Optimize parse_subsystem_tracepoint_event() 2009-12-07 08:09:29 +01:00
parse-events.h perf trace: Add filter Suppport 2009-10-15 11:35:23 +02:00
parse-options.c perf tools: Align long options which have no short forms 2009-12-10 08:30:28 +01:00
parse-options.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
path.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
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 perf: Fix read buffer overflow 2009-08-04 11:09:56 +02:00
quote.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
run-command.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
run-command.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
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 perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
sigchain.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
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 perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
strbuf.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
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 perf timechart: Improve the visual appearance of scheduler delays 2009-10-20 03:39:21 +02:00
svghelper.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
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 perf trace: Read_tracing_data should die() another day 2009-11-21 17:45:59 +01:00
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 perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
usage.c perf top: Fall back to cpu-clock-tick hrtimer sampling if no cycle counter available 2009-06-07 17:31:52 +02:00
util.h perf tools: Remove unused wrapper routines 2009-11-24 16:37:03 +01:00
values.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
values.h perf tools: Protect header files with a consistent style 2009-09-24 21:27:51 +02:00
wrapper.c perf tools: Remove unused wrapper routines 2009-11-24 16:37:03 +01:00