From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:58270 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753040AbcLLWqs (ORCPT ); Mon, 12 Dec 2016 17:46:48 -0500 Date: Mon, 12 Dec 2016 14:46:58 -0800 From: Greg KH To: peterz@infradead.org, acme@redhat.com, alexander.shishkin@linux.intel.com, eranian@google.com, jolsa@redhat.com, kan.liang@intel.com, lukasz.odzioba@intel.com, mingo@kernel.org, tglx@linutronix.de, torvalds@linux-foundation.org, vincent.weaver@maine.edu Cc: stable@vger.kernel.org Subject: Re: FAILED: patch "[PATCH] perf/x86: Fix full width counter, counter overflow" failed to apply to 4.4-stable tree Message-ID: <20161212224658.GA14887@kroah.com> References: <14815822425213@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <14815822425213@kroah.com> Sender: stable-owner@vger.kernel.org List-ID: Nevermind, I got it to work, sorry for the noise... greg k-h On Mon, Dec 12, 2016 at 02:37:22PM -0800, gregkh@linuxfoundation.org wrote: > > The patch below does not apply to the 4.4-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to . > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > >From 7f612a7f0bc13a2361a152862435b7941156b6af Mon Sep 17 00:00:00 2001 > From: "Peter Zijlstra (Intel)" > Date: Tue, 29 Nov 2016 20:33:28 +0000 > Subject: [PATCH] perf/x86: Fix full width counter, counter overflow > > Lukasz reported that perf stat counters overflow handling is broken on KNL/SLM. > > Both these parts have full_width_write set, and that does indeed have > a problem. In order to deal with counter wrap, we must sample the > counter at at least half the counter period (see also the sampling > theorem) such that we can unambiguously reconstruct the count. > > However commit: > > 069e0c3c4058 ("perf/x86/intel: Support full width counting") > > sets the sampling interval to the full period, not half. > > Fixing that exposes another issue, in that we must not sign extend the > delta value when we shift it right; the counter cannot have > decremented after all. > > With both these issues fixed, counter overflow functions correctly > again. > > Reported-by: Lukasz Odzioba > Tested-by: Liang, Kan > Tested-by: Odzioba, Lukasz > Signed-off-by: Peter Zijlstra (Intel) > Cc: Alexander Shishkin > Cc: Arnaldo Carvalho de Melo > Cc: Jiri Olsa > Cc: Linus Torvalds > Cc: Peter Zijlstra > Cc: Stephane Eranian > Cc: Thomas Gleixner > Cc: Vince Weaver > Cc: stable@vger.kernel.org > Fixes: 069e0c3c4058 ("perf/x86/intel: Support full width counting") > Signed-off-by: Ingo Molnar > > diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c > index 9d4bf3ab049e..6e395c996900 100644 > --- a/arch/x86/events/core.c > +++ b/arch/x86/events/core.c > @@ -69,7 +69,7 @@ u64 x86_perf_event_update(struct perf_event *event) > int shift = 64 - x86_pmu.cntval_bits; > u64 prev_raw_count, new_raw_count; > int idx = hwc->idx; > - s64 delta; > + u64 delta; > > if (idx == INTEL_PMC_IDX_FIXED_BTS) > return 0; > diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c > index a74a2dbc0180..cb8522290e6a 100644 > --- a/arch/x86/events/intel/core.c > +++ b/arch/x86/events/intel/core.c > @@ -4034,7 +4034,7 @@ __init int intel_pmu_init(void) > > /* Support full width counters using alternative MSR range */ > if (x86_pmu.intel_cap.full_width_write) { > - x86_pmu.max_period = x86_pmu.cntval_mask; > + x86_pmu.max_period = x86_pmu.cntval_mask >> 1; > x86_pmu.perfctr = MSR_IA32_PMC0; > pr_cont("full-width counters, "); > } > > -- > To unsubscribe from this list: send the line "unsubscribe stable" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html