2011-02-03 21:10:38

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [tip:perf/urgent] perf stat: Fix aggreate counter reading accounting

Commit-ID: 52bcd9947bffae88bb1758f19277d678aaebc2ec
Gitweb: http://git.kernel.org/tip/52bcd9947bffae88bb1758f19277d678aaebc2ec
Author: Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Thu, 3 Feb 2011 17:26:06 -0200
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 3 Feb 2011 17:26:06 -0200

perf stat: Fix aggreate counter reading accounting

Introduced in: c52b12ed, when this sequence:

count[0] = count[1] = count[2] = 0;

Was replaced with:

aggr->val = 0;

Which is equivalent to zeroing just the first entry in the 'count'
array.

Fix it by zeroing the three entries with:

aggr->val = aggr->ena = aggr->run = 0;

Reported-by: Ingo Molnar <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Tom Zanussi <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/evsel.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index f5cfed6..d8575d3 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -90,7 +90,7 @@ int __perf_evsel__read(struct perf_evsel *evsel,
int cpu, thread;
struct perf_counts_values *aggr = &evsel->counts->aggr, count;

- aggr->val = 0;
+ aggr->val = aggr->ena = aggr->run = 0;

for (cpu = 0; cpu < ncpus; cpu++) {
for (thread = 0; thread < nthreads; thread++) {