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. 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 (3): kvm: mmu/x86: Remove redundant spte present check in mmu_set_spte KVM: x86/mmu: Avoid collision with !PRESENT SPTEs in TDP MMU lpage stats kvm: mmu/x86: Add detailed page size stats arch/x86/include/asm/kvm_host.h | 10 +++++++- arch/x86/kvm/mmu.h | 2 ++ arch/x86/kvm/mmu/mmu.c | 42 ++++++++++++++++++--------------- arch/x86/kvm/mmu/tdp_mmu.c | 9 ++----- arch/x86/kvm/x86.c | 7 ++++-- 5 files changed, 41 insertions(+), 29 deletions(-) -- 2.32.0.432.gabb21c7263-goog