perf stat: Move perf_stat initialization counter process code
Moving perf_stat initialization counter process code,
to make the reading path free of processing logic.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1435310967-14570-18-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index b7c184b..526f677 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -284,6 +284,7 @@
int i, ret;
aggr->val = aggr->ena = aggr->run = 0;
+ memset(ps->res_stats, 0, sizeof(ps->res_stats));
if (counter->per_pkg)
zero_per_pkg(counter);
@@ -347,12 +348,8 @@
static void read_counters(bool close)
{
struct perf_evsel *counter;
- struct perf_stat *ps;
evlist__for_each(evsel_list, counter) {
- ps = counter->priv;
- memset(ps->res_stats, 0, sizeof(ps->res_stats));
-
if (read_counter(counter))
pr_warning("failed to read counter %s\n", counter->name);