From: Greg Kroah-Hartman Date: Mon, 20 Jul 2020 09:54:13 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v4.4.231~42 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3335fabfc88ba5ce0b9092f007de75eaf54d5006;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch --- diff --git a/queue-4.4/perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch b/queue-4.4/perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch new file mode 100644 index 00000000000..7ea1e5249e5 --- /dev/null +++ b/queue-4.4/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 +@@ -318,8 +318,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.4/series b/queue-4.4/series index 079a452b757..63805f378c4 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -32,3 +32,4 @@ revert-usb-xhci-plat-set-pm-runtime-as-active-on-res.patch revert-usb-ohci-platform-fix-a-warning-when-hibernat.patch usb-gadget-udc-atmel-fix-uninitialized-read-in-debug.patch staging-comedi-verify-array-index-is-correct-before-.patch +perf-stat-zero-all-the-ena-and-run-array-slot-stats-for-interval-mode.patch