diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index b7c184bd559ccc22cb1f65772199bf86b96daf8e..526f67753664bd53f4421d6c61864be367e47f67 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -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);