1
linux/tools/perf
Frederic Weisbecker 108553e1f3 perf: Sync callchains with period based hits
Hists have their hits increased by the event period. And this
period based counting is the foundation of all the stats in
perf report.

But callchains still use the raw number of hits, without taking
the period into account. So when we compute the percentage,
absolute based percentages are totally broken, and relative ones
too in the first parent level. Because we pass the number of events
muliplied by their period as the total number of hits to the
callchain filtering, while callchains expect this number to be
the number of raw hits.

perf report -g graph was simply not working, showing no graph unless
the min percent was zero. And even there the percentage of the
branches was always 0. And may be fractal filtering was broken on
the first branch level too.

flat also was broken, but it was hidden because of other breakages.

Anyway fix this by counting using periods on callchains.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
2010-07-08 06:26:56 +02:00
..
arch perf probe: Add PowerPC DWARF register number mappings 2010-04-22 13:48:31 +10:00
bench perf options: Check v type in OPT_U?INTEGER 2010-05-17 15:43:38 -03:00
Documentation perf stat: add perf stat -B to pretty print large numbers 2010-05-18 23:03:22 -03:00
scripts perf scripts python: Give field dict to unhandled callback 2010-06-01 06:12:35 -03:00
util perf: Sync callchains with period based hits 2010-07-08 06:26:56 +02:00
.gitignore perf: Ignore perf-archive temp file 2010-01-29 10:37:33 +01:00
builtin-annotate.c perf tui: Reset use_browser if stdout is not a tty 2010-05-26 13:22:26 -03:00
builtin-bench.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-buildid-cache.c perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() 2010-04-14 11:26:44 +02:00
builtin-buildid-list.c perf buildid-list: Fix --with-hits event processing 2010-06-01 16:16:11 -03:00
builtin-diff.c perf report: Report number of events, not samples 2010-05-14 14:19:35 -03:00
builtin-help.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-inject.c perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
builtin-kmem.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-kvm.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-probe.c perf probe: Don't call die() 2010-05-18 23:05:18 -03:00
builtin-record.c perf record: prevent kill(0, SIGTERM); 2010-06-17 14:24:43 -03:00
builtin-report.c perf: Sync callchains with period based hits 2010-07-08 06:26:56 +02:00
builtin-sched.c perf: Use event__process_task from perf sched 2010-06-01 00:10:32 +02:00
builtin-stat.c perf stat: add perf stat -B to pretty print large numbers 2010-05-18 23:03:22 -03:00
builtin-test.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-timechart.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-top.c perf symbols: Add the build id cache to the vmlinux path 2010-05-26 13:26:02 -03:00
builtin-trace.c perf hist: Clarify events_stats fields usage 2010-05-14 13:16:55 -03:00
builtin.h perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
command-list.txt perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
Makefile perf tools: Add mode to build without newt support 2010-05-17 18:18:11 -03:00
perf-archive.sh perf archive: Explain how to use the generated tarball 2010-03-23 20:33:08 +01:00
perf.c perf tui: Allow disabling the TUI on a per command basis in ~/.perfconfig 2010-05-20 22:01:10 -03:00
perf.h perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00