Skip to contentSkip to conversation

perf callchain fixlet

GIT PULL Frederic Weisbecker 1 participant 1 message Jan 3, 2011 perf events

lore
Share & tools
lore
#0 lore raw

Ingo,

Please pull the perf/urgent branch that can be found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git
perf/urgent

If you think it's too late to get that into .37, I can still rebase it to perf/core (or you can cherry-pick that patch directly).

Thanks,
Frederic
---

Frederic Weisbecker (1):
perf: Fix callchain hit bad cast on ascii display

 tools/perf/util/hist.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

---
commit d425de5436a620de506f9e4119bf8daa1cb93718

Author: Frederic Weisbecker <[email protected]>
Date:   Mon Jan 3 16:13:11 2011 +0100

perf: Fix callchain hit bad cast on ascii display

ipchain__fprintf_graph() casts the number of hits in a branch as an int, which means we lose its highests bits.

This results in meaningless number of callchain hits in perf.data that have a high number of hits recorded, typically those that have callchain branches hits appearing more than INT_MAX. This happens easily as those are pondered by the event period.

Cc Ingo Molnar <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Arnaldo Carvalho de Melo <[email protected]>
Cc Paul Mackerras <[email protected]>
tools/perf/util/hist.c +1 -1
index 2022e87..76bcc35 100644
@@ -356,7 +356,7 @@ static size_t ipchain__fprintf_graph_line(FILE *fp, int depth, int depth_mask,
 
 static size_t ipchain__fprintf_graph(FILE *fp, struct callchain_list *chain,
 				     int depth, int depth_mask, int period,
-				     u64 total_samples, int hits,
+				     u64 total_samples, u64 hits,
 				     int left_margin)
 {
 	int i;