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 <npiggin@xxxxxxxxx> >> --- >> 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. You even can't use the sysfs files in this sim environment? In that case 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. Thanks, Nick