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>
This commit is contained in:
Jiri Olsa 2015-06-26 11:29:22 +02:00 committed by Arnaldo Carvalho de Melo
parent 32ce0a47aa
commit 7ddb1b6bbf

View File

@ -284,6 +284,7 @@ static int process_counter(struct perf_evsel *counter)
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 int read_counter(struct perf_evsel *counter)
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);