linux-uconsole/tools/perf/util
Frederic Weisbecker a4bc94d437 perf: Initialize callchains roots's childen hits
commit 5225c45899 upstream.

Each histogram entry has a callchain root that stores the
callchain samples. However we forgot to initialize the
tracking of children hits of these roots, which then got
random values on their creation.

The root children hits is multiplied by the minimum percentage
of hits provided by the user, and the result becomes the minimum
hits expected from children branches. If the random value due
to the uninitialization is big enough, then this minimum number
of hits can be huge and eventually filter every children branches.

The end result was invisible callchains. All we need to
fix this is to initialize the children hits of the root.

Reported-by: Christoph Hellwig <hch@infradead.org>
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-20 13:17:55 -07:00
..
include perf report: Adjust column width to the values sampled 2009-07-11 10:24:11 +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: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
callchain.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
callchain.h perf: Initialize callchains roots's childen hits 2010-09-20 13:17:55 -07:00
color.c perf tools: Librarize trace_event() helper 2009-08-16 23:06:45 +02:00
color.h perf tools: Librarize trace_event() helper 2009-08-16 23:06:45 +02:00
config.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
ctype.c perf_counter tools: Add and use isprint() 2009-06-18 09:46:00 +02:00
debug.c perf tools: Librarize trace_event() helper 2009-08-16 23:06:45 +02:00
debug.h perf tools: Librarize trace_event() helper 2009-08-16 23:06:45 +02:00
environment.c perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
event.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
exec_cmd.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
exec_cmd.h perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +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: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
header.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
help.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
help.h perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02: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_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
map.c perf tools: Factorize the map helpers 2009-08-12 12:37:37 +02:00
module.c perf tools: Fix buffer allocation 2009-09-24 15:11:23 +02:00
module.h perf_counter tools: Add infrastructure to support loading of kernel module symbols 2009-07-02 08:42:20 +02:00
pager.c perf_counter tools: Remove dead code 2009-06-27 06:06:39 +02:00
parse-events.c perf tools: Remove static debugfs path from parse-events 2009-10-12 22:41:05 +02:00
parse-events.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
parse-options.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
parse-options.h perf: Allow perf utilities to have "callback" options without arguments 2009-09-19 11:42:11 +02:00
path.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
PERF-VERSION-GEN perf tools: Bump version to 0.0.2 2009-10-16 10:34:28 +02:00
quote.c perf: Fix read buffer overflow 2009-08-04 11:09:56 +02:00
quote.h perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
run-command.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
run-command.h perf_counter tools: Remove dead code 2009-06-27 06:06:39 +02: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_counter tools: Move from Documentation/perf_counter/ to tools/perf/ 2009-06-06 20:33:43 +02:00
strbuf.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
strbuf.h perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00
string.c perf_counter tools: Define and use our own u64, s64 etc. definitions 2009-06-19 18:25:47 +02:00
string.h perf_counter: Detect debugfs location 2009-07-22 18:05:57 +02:00
strlist.c strlist: Introduce strlist__entry and strlist__nr_entries methods 2009-07-11 19:20:25 +02:00
strlist.h strlist: Introduce strlist__entry and strlist__nr_entries methods 2009-07-11 19:20:25 +02:00
svghelper.c perf timechart: Improve the visual appearance of scheduler delays 2009-10-20 03:39:21 +02:00
svghelper.h perf util: Make the timechart SVG width dynamic 2009-09-20 19:37:35 +02:00
symbol.c perf tools: Fix compatibility with libelf 0.8 and autodetect 2009-10-25 17:09:14 +01:00
symbol.h perf tools: Fix compatibility with libelf 0.8 and autodetect 2009-10-25 17:09:14 +01:00
thread.c perf sched: Add 'perf sched map' scheduling event map printout 2009-09-16 16:41:30 +02:00
thread.h perf sched: Add 'perf sched map' scheduling event map printout 2009-09-16 16:41:30 +02:00
trace-event-info.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
trace-event-parse.c perf tools: Fix const char type propagation 2009-10-12 08:35:00 +02:00
trace-event-read.c perf sched: Display time in milliseconds, reorganize output 2009-09-13 10:22:44 +02:00
trace-event.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
types.h perf_counter tools: Rework the file format 2009-06-25 21:39:04 +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 Merge branch 'perfcounters/tracing' into perfcounters/core 2009-08-31 10:03:27 +02:00
values.c perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
values.h perf: Enable more compiler warnings 2009-08-16 10:47:47 +02:00
wrapper.c perf_counter tools: Add more warnings and fix/annotate them 2009-07-01 12:49:48 +02:00