[PATCH] perf report: fix broken perf report -n on 32-bit systems

From: Stephane Eranian
Date: Mon Oct 22 2012 - 17:00:18 EST



On 32-bit systems, using perf report -n would yield garbage
for the Samples column. This is because the hpp code was
assuming the hist_entry.stat.nr_events was u64 when in
reality it was u32.

This patch fixes the problem by defining nr_events
to be u64. u32 is too small anyway.

Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
---

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index ef2f93c..616757e 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -992,7 +992,7 @@ static int hist_browser__fprintf_entry(struct hist_browser *browser,
printed += fprintf(fp, " %5.2f%%", percent);

if (symbol_conf.show_nr_samples)
- printed += fprintf(fp, " %11u", he->stat.nr_events);
+ printed += fprintf(fp, " %11"PRIu64, he->stat.nr_events);

if (symbol_conf.show_total_period)
printed += fprintf(fp, " %12" PRIu64, he->stat.period);
diff --git a/tools/perf/util/sort.h b/tools/perf/util/sort.h
index 13761d8..ecda054 100644
--- a/tools/perf/util/sort.h
+++ b/tools/perf/util/sort.h
@@ -49,7 +49,7 @@ struct he_stat {
u64 period_us;
u64 period_guest_sys;
u64 period_guest_us;
- u32 nr_events;
+ u64 nr_events;
};

struct hist_entry_diff {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/