From mboxrd@z Thu Jan 1 00:00:00 1970 From: Madhavan Srinivasan Date: Mon, 12 Jul 2021 03:54:04 +0000 Subject: Re: [RFC PATCH 10/43] powerpc/64s: Always set PMU control registers to frozen/disabled when not in u Message-Id: <0916fd08-f253-46ae-c4e9-8e910592e8b1@linux.ibm.com> List-Id: References: <20210622105736.633352-1-npiggin@gmail.com> <20210622105736.633352-11-npiggin@gmail.com> <1625185125.n8jy7yqojr.astroid@bobo.none> In-Reply-To: <1625185125.n8jy7yqojr.astroid@bobo.none> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Nicholas Piggin , kvm-ppc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org On 7/2/21 5:57 AM, Nicholas Piggin wrote: > Excerpts from Madhavan Srinivasan's message of July 1, 2021 11:17 pm: >> On 6/22/21 4:27 PM, Nicholas Piggin wrote: >>> KVM PMU management code looks for particular frozen/disabled bits in >>> the PMU registers so it knows whether it must clear them when coming >>> out of a guest or not. Setting this up helps KVM make these optimisations >>> without getting confused. Longer term the better approach might be to >>> move guest/host PMU switching to the perf subsystem. >>> >>> Signed-off-by: Nicholas Piggin >>> --- >>> arch/powerpc/kernel/cpu_setup_power.c | 4 ++-- >>> arch/powerpc/kernel/dt_cpu_ftrs.c | 6 +++--- >>> arch/powerpc/kvm/book3s_hv.c | 5 +++++ >>> arch/powerpc/perf/core-book3s.c | 7 +++++++ >>> 4 files changed, 17 insertions(+), 5 deletions(-) >>> >>> diff --git a/arch/powerpc/kernel/cpu_setup_power.c b/arch/powerpc/kernel/cpu_setup_power.c >>> index a29dc8326622..3dc61e203f37 100644 >>> --- a/arch/powerpc/kernel/cpu_setup_power.c >>> +++ b/arch/powerpc/kernel/cpu_setup_power.c >>> @@ -109,7 +109,7 @@ static void init_PMU_HV_ISA207(void) >>> static void init_PMU(void) >>> { >>> mtspr(SPRN_MMCRA, 0); >>> - mtspr(SPRN_MMCR0, 0); >>> + mtspr(SPRN_MMCR0, MMCR0_FC); >> Sticky point here is, currently if not frozen, pmc5/6 will >> keep countering. And not freezing them at boot is quiet useful >> sometime, like say when running in a simulation where we could calculate >> approx CPIs for micro benchmarks without perf subsystem. Sorry for a delayed response > You even can't use the sysfs files in this sim environment? In that case Yes it is possible. Just that we need to have additional patch to maintain for the sim. > what if we added a boot option that could set some things up? In that > case possibly you could even gather some more types of events too. Having a boot option will be a over-kill :). I guess we could have this under config option? > > Thanks, > Nick