[PATCH v3 4/4] KVM: arm64: Reenable pmu in Protected Mode

Oliver Upton oupton at google.com
Mon May 9 15:36:00 PDT 2022


Hi Fuad,

On Mon, May 09, 2022 at 12:03:30PM +0000, Fuad Tabba wrote:
> Now that the pmu code does not access hyp data, reenable it in
> protected mode.
> 
> Signed-off-by: Fuad Tabba <tabba at google.com>
> ---
>  arch/arm64/kvm/pmu-emul.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/kvm/pmu-emul.c b/arch/arm64/kvm/pmu-emul.c
> index 3dc990ac4f44..11c43bed5f97 100644
> --- a/arch/arm64/kvm/pmu-emul.c
> +++ b/arch/arm64/kvm/pmu-emul.c
> @@ -774,8 +774,7 @@ void kvm_host_pmu_init(struct arm_pmu *pmu)
>  {
>  	struct arm_pmu_entry *entry;
>  
> -	if (pmu->pmuver == 0 || pmu->pmuver == ID_AA64DFR0_PMUVER_IMP_DEF ||
> -	    is_protected_kvm_enabled())
> +	if (pmu->pmuver == 0 || pmu->pmuver == ID_AA64DFR0_PMUVER_IMP_DEF)

IIUC, you intend to enable the PMU for non-pVM guests, right? Based on
the pKVM feature registers + trap handlers I can see that pVM use of the
PMU is in fact disabled. It'd be good to state in the commit message
what is exactly intended for pVMs and non-pVMs.

Since the PMU counters are disabled outright for pVMs, is there any
value in context switching between host/guest in this case?

--
Thanks,
Oliver



More information about the linux-arm-kernel mailing list