Re: [PATCH v2] kvm/x86: Fix 'lpages' kvm stat for TDM MMU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux