| From 0e0bf1ea1147fcf74eab19c2d3c853cc3740a72f Mon Sep 17 00:00:00 2001 |
| From: Jin Yao <yao.jin@linux.intel.com> |
| Date: Thu, 9 Apr 2020 15:07:55 +0800 |
| Subject: perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode |
| |
| From: Jin Yao <yao.jin@linux.intel.com> |
| |
| commit 0e0bf1ea1147fcf74eab19c2d3c853cc3740a72f 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: 51fd2df1e882 ("perf stat: Fix interval output values") |
| Signed-off-by: Jin 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.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| tools/perf/util/stat.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/tools/perf/util/stat.c |
| +++ b/tools/perf/util/stat.c |
| @@ -341,8 +341,10 @@ int perf_stat_process_counter(struct per |
| * interval mode, otherwise overall avg running |
| * averages will be shown for each interval. |
| */ |
| - if (config->interval) |
| - init_stats(ps->res_stats); |
| + if (config->interval) { |
| + for (i = 0; i < 3; i++) |
| + init_stats(&ps->res_stats[i]); |
| + } |
| |
| if (counter->per_pkg) |
| zero_per_pkg(counter); |