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