diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index b3e08ce2c564..fc85e6b9bd13 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -279,15 +279,8 @@ static int evsel_context(struct perf_evsel *evsel) return ctx; } -static void perf_stat__reset_stats(struct perf_evlist *evlist) +static void reset_shadow_stats(void) { - struct perf_evsel *evsel; - - evlist__for_each(evlist, evsel) { - perf_evsel__reset_stat_priv(evsel); - perf_evsel__reset_counts(evsel, perf_evsel__nr_cpus(evsel)); - } - memset(runtime_nsecs_stats, 0, sizeof(runtime_nsecs_stats)); memset(runtime_cycles_stats, 0, sizeof(runtime_cycles_stats)); memset(runtime_stalled_cycles_front_stats, 0, sizeof(runtime_stalled_cycles_front_stats)); @@ -307,6 +300,18 @@ static void perf_stat__reset_stats(struct perf_evlist *evlist) memset(&walltime_nsecs_stats, 0, sizeof(walltime_nsecs_stats)); } +static void perf_stat__reset_stats(struct perf_evlist *evlist) +{ + struct perf_evsel *evsel; + + evlist__for_each(evlist, evsel) { + perf_evsel__reset_stat_priv(evsel); + perf_evsel__reset_counts(evsel, perf_evsel__nr_cpus(evsel)); + } + + reset_shadow_stats(); +} + static int create_perf_stat_counter(struct perf_evsel *evsel) { struct perf_event_attr *attr = &evsel->attr;