From: Greg Kroah-Hartman Date: Mon, 20 Jul 2020 09:54:41 +0000 (+0200) Subject: 4.14-stable patches X-Git-Tag: v4.4.231~40 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=20d281c05dd9d6577eb65710755fdd73f88cf9df;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch --- diff --git a/queue-4.14/perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch b/queue-4.14/perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch new file mode 100644 index 00000000000..1f2445d72e7 --- /dev/null +++ b/queue-4.14/perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch @@ -0,0 +1,49 @@ +From 0e0bf1ea1147fcf74eab19c2d3c853cc3740a72f Mon Sep 17 00:00:00 2001 +From: Jin Yao +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 + +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 +Cc: Alexander Shishkin +Cc: Andi Kleen +Cc: Jin Yao +Cc: Jiri Olsa +Cc: Kan Liang +Cc: Peter Zijlstra +Link: http://lore.kernel.org/lkml/20200409070755.17261-1-yao.jin@linux.intel.com +Signed-off-by: Arnaldo Carvalho de Melo +Signed-off-by: Greg Kroah-Hartman + +--- + 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 +@@ -350,8 +350,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); diff --git a/queue-4.14/series b/queue-4.14/series index 9b94a1c9136..9a1dd2c4377 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -87,3 +87,4 @@ staging-comedi-verify-array-index-is-correct-before-.patch revert-thermal-mediatek-fix-register-index-error.patch arm-dts-socfpga-align-l2-cache-controller-nodename-w.patch copy_xstate_to_kernel-fix-typo-which-caused-gdb-regression.patch +perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch