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 > >