On Fri, Apr 30, 2021 at 4:52 AM Shahin, Md Shahadat Hossain <shahinmd@xxxxxxxxx> wrote: > > Large pages not being created properly may result in increased memory > access time. The 'lpages' kvm stat used to keep track of the current > number of large pages in the system, but with TDP MMU enabled the stat > is not showing the correct number. > > This patch extends the lpages counter to cover the TDP case. > > Signed-off-by: Md Shahadat Hossain Shahin <shahinmd@xxxxxxxxx> > Cc: Bartosz Szczepanek <bsz@xxxxxxxxx> Reviewed-by: Ben Gardon <bgardon@xxxxxxxxxx> Thanks for fixing this! > --- > arch/x86/kvm/mmu/tdp_mmu.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c > index bc1283ed4db6..f89a140b8dea 100644 > --- a/arch/x86/kvm/mmu/tdp_mmu.c > +++ b/arch/x86/kvm/mmu/tdp_mmu.c > @@ -240,6 +240,13 @@ static void __handle_changed_spte(struct kvm *kvm, int as_id, gfn_t gfn, > if (old_spte == new_spte) > return; > > + if (is_large_pte(old_spte) != is_large_pte(new_spte)) { > + if (is_large_pte(old_spte)) > + atomic64_sub(1, (atomic64_t*)&kvm->stat.lpages); > + else > + atomic64_add(1, (atomic64_t*)&kvm->stat.lpages); > + } > + > /* > * The only times a SPTE should be changed from a non-present to > * non-present state is when an MMIO entry is installed/modified/ > -- > 2.17.1 > > > > Amazon Development Center Germany GmbH > Krausenstr. 38 > 10117 Berlin > Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss > Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B > Sitz: Berlin > Ust-ID: DE 289 237 879 > > >