mbox series

[v4,0/3] Add detailed page size stats in KVM stats

Message ID 20210803044607.599629-1-mizhang@google.com (mailing list archive)
Headers show
Series Add detailed page size stats in KVM stats | expand

Message

Mingwei Zhang Aug. 3, 2021, 4:46 a.m. UTC
This commit basically adds detailed (large and regular) page size info to
KVM stats and deprecate the old one: lpages.

To support legacy MMU and TDP mmu, we use atomic type for all page stats.

v3 -> v4:
 - rebase to origin/queue. [sean]
 - replace the lpages with page stats in place to avoid conflicts. [sean]

v2 -> v3:
 - move kvm_update_page_stats to mmu.h as a static inline function. [sean]
 - remove is_last_spte check in mmu_spte_clear_track_bits. [bgardon]
 - change page_stats union by making it anonymous. [dmatlack]

v1 -> v2:
 - refactor kvm_update_page_stats and remove 'spte' argument. [sean]
 - remove 'lpages' as it can be aggregated by user level [sean]
 - fix lpages stats update issue in __handle_change_pte [sean]
 - fix style issues and typos. [ben/sean]

pre-v1 (internal reviewers):
 - use atomic in all page stats and use 'level' as index. [sean]
 - use an extra argument in kvm_update_page_stats for atomic/non-atomic.
   [bgardon]
 - should be careful on the difference between legacy mmu and tdp mmu.
   [jingzhangos]

Mingwei Zhang (2):
  KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte
  KVM: x86/mmu: Add detailed page size stats

Sean Christopherson (1):
  KVM: x86/mmu: Avoid collision with !PRESENT SPTEs in TDP MMU lpage
    stats

 arch/x86/include/asm/kvm_host.h | 10 ++++++-
 arch/x86/kvm/mmu.h              |  4 +++
 arch/x86/kvm/mmu/mmu.c          | 50 +++++++++++++++------------------
 arch/x86/kvm/mmu/tdp_mmu.c      |  9 ++----
 arch/x86/kvm/x86.c              |  5 +++-
 5 files changed, 42 insertions(+), 36 deletions(-)

--
2.32.0.554.ge1b32706d8-goog