Commit d2cd8f90 authored by Jin Yao's avatar Jin Yao Committed by Greg Kroah-Hartman

perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode

commit 0e0bf1ea upstream.

As the code comments in perf_stat_process_counter() say, we calculate
counter's data every interval, and the display code shows ps->res_stats
avg value. We need to zero the stats for interval mode.

But the current code only zeros the res_stats[0], it doesn't zero the
res_stats[1] and res_stats[2], which are for ena and run of counter.

This patch zeros the whole res_stats[] for interval mode.

Fixes: 51fd2df1 ("perf stat: Fix interval output values")
Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jin Yao <yao.jin@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20200409070755.17261-1-yao.jin@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fe1219a2
...@@ -358,8 +358,10 @@ int perf_stat_process_counter(struct perf_stat_config *config, ...@@ -358,8 +358,10 @@ int perf_stat_process_counter(struct perf_stat_config *config,
* interval mode, otherwise overall avg running * interval mode, otherwise overall avg running
* averages will be shown for each interval. * averages will be shown for each interval.
*/ */
if (config->interval) if (config->interval) {
init_stats(ps->res_stats); for (i = 0; i < 3; i++)
init_stats(&ps->res_stats[i]);
}
if (counter->per_pkg) if (counter->per_pkg)
zero_per_pkg(counter); zero_per_pkg(counter);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment