summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2010-08-22 02:29:17 (GMT)
committerFrederic Weisbecker <fweisbec@gmail.com>2010-08-26 23:51:36 (GMT)
commit5225c45899e872383ca39f5533d28ec63c54b39e (patch)
tree29bfc3b18d4f8f39b42e22c8113b6e4c379e0257 /tools
parent8d330919927ea31fa083b5a80084dc991da813a0 (diff)
downloadlinux-5225c45899e872383ca39f5533d28ec63c54b39e.tar.xz
perf: Initialize callchains roots's childen hits
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> Cc: 2.6.32.x-2.6.35.y <stable@kernel.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/util/callchain.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/perf/util/callchain.h b/tools/perf/util/callchain.h
index 624a96c..6de4313 100644
--- a/tools/perf/util/callchain.h
+++ b/tools/perf/util/callchain.h
@@ -50,6 +50,7 @@ static inline void callchain_init(struct callchain_node *node)
INIT_LIST_HEAD(&node->children);
INIT_LIST_HEAD(&node->val);
+ node->children_hit = 0;
node->parent = NULL;
node->hit = 0;
}