Re: [PATCH v2 05/25] KVM: x86/mmu: rephrase unclear comment

From: Sean Christopherson
Date: Tue Mar 08 2022 - 11:40:46 EST


On Mon, Feb 21, 2022, Paolo Bonzini wrote:
> If accessed bits are not supported there simple isn't any distinction
> between accessed and non-accessed gPTEs, so the comment does not make
> much sense. Rephrase it in terms of what happens if accessed bits
> *are* supported.
>
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> ---
> arch/x86/kvm/mmu/paging_tmpl.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h
> index 80b4b291002a..d1d17d28e81b 100644
> --- a/arch/x86/kvm/mmu/paging_tmpl.h
> +++ b/arch/x86/kvm/mmu/paging_tmpl.h
> @@ -193,7 +193,7 @@ static bool FNAME(prefetch_invalid_gpte)(struct kvm_vcpu *vcpu,
> if (!FNAME(is_present_gpte)(gpte))
> goto no_present;
>
> - /* if accessed bit is not supported prefetch non accessed gpte */
> + /* if accessed bit is supported, prefetch only accessed gpte */

Can we just reword the whole thing? A/D bits being disabled is the anomaly,
leading with the "if" makes the logic we really care about seem like a secondary
concern. E.g.

/* Prefetch only accessed entries (unless A/D bits are disabled). */

> if (PT_HAVE_ACCESSED_DIRTY(vcpu->arch.mmu) &&
> !(gpte & PT_GUEST_ACCESSED_MASK))
> goto no_present;
> --
> 2.31.1
>
>