On Mon, Jun 5, 2023 at 10:17 AM Ben Gardon <bgardon@xxxxxxxxxx> wrote: > > On Mon, Jun 5, 2023 at 9:55 AM Jim Mattson <jmattson@xxxxxxxxxx> wrote: > > > > On Sun, Jun 4, 2023 at 5:43 PM Mingwei Zhang <mizhang@xxxxxxxxxx> wrote: > > > > > > Remove KVM MMU write lock when accessing indirect_shadow_pages counter when > > > page role is direct because this counter value is used as a coarse-grained > > > heuristics to check if there is nested guest active. Racing with this > > > heuristics without mmu lock will be harmless because the corresponding > > > indirect shadow sptes for the GPA will either be zapped by this thread or > > > some other thread who has previously zapped all indirect shadow pages and > > > makes the value to 0. > > > > > > Because of that, remove the KVM MMU write lock pair to potentially reduce > > > the lock contension and improve the performance of nested VM. In addition > > > opportunistically change the comment of 'direct mmu' to make the > > > description consistent with other places. > > > > > > Reported-by: Jim Mattson <jmattson@xxxxxxxxxx> > > > Signed-off-by: Mingwei Zhang <mizhang@xxxxxxxxxx> > > > --- > > > arch/x86/kvm/x86.c | 10 ++-------- > > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > > > index 5ad55ef71433..97cfa5a00ff2 100644 > > > --- a/arch/x86/kvm/x86.c > > > +++ b/arch/x86/kvm/x86.c > > > @@ -8585,15 +8585,9 @@ static bool reexecute_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, > > > > > > kvm_release_pfn_clean(pfn); > > > > > > - /* The instructions are well-emulated on direct mmu. */ > > > + /* The instructions are well-emulated on Direct MMUs. */ > > Nit: Internally within Google, on older kernels, we have the "Direct > MMU" which was the precursor to the TDP MMU we all know and love. This > comment however does not refer to the Direct MMU. Direct here just > refers to the direct role bit being set. Since it's just descriptive, > direct should not be capitalized in this comment, so no reason to > change this line. You are right., it is incorrect to uppercase the 'direct', since that generates confusions with our internal MMU implementation. So, I will just uppercase the 'mmu' here in the next version.