Loading arch/x86/kvm/mmu.c +1 −0 Original line number Diff line number Diff line Loading @@ -715,6 +715,7 @@ static struct kvm_mmu_page *kvm_mmu_get_page(struct kvm_vcpu *vcpu, pgprintk("%s: found\n", __FUNCTION__); return sp; } ++vcpu->kvm->stat.mmu_cache_miss; sp = kvm_mmu_alloc_page(vcpu, parent_pte); if (!sp) return sp; Loading arch/x86/kvm/x86.c +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { { "mmu_pde_zapped", VM_STAT(mmu_pde_zapped) }, { "mmu_flooded", VM_STAT(mmu_flooded) }, { "mmu_recycled", VM_STAT(mmu_recycled) }, { "mmu_cache_miss", VM_STAT(mmu_cache_miss) }, { "remote_tlb_flush", VM_STAT(remote_tlb_flush) }, { NULL } }; Loading include/asm-x86/kvm_host.h +1 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,7 @@ struct kvm_vm_stat { u32 mmu_pde_zapped; u32 mmu_flooded; u32 mmu_recycled; u32 mmu_cache_miss; u32 remote_tlb_flush; }; Loading Loading
arch/x86/kvm/mmu.c +1 −0 Original line number Diff line number Diff line Loading @@ -715,6 +715,7 @@ static struct kvm_mmu_page *kvm_mmu_get_page(struct kvm_vcpu *vcpu, pgprintk("%s: found\n", __FUNCTION__); return sp; } ++vcpu->kvm->stat.mmu_cache_miss; sp = kvm_mmu_alloc_page(vcpu, parent_pte); if (!sp) return sp; Loading
arch/x86/kvm/x86.c +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { { "mmu_pde_zapped", VM_STAT(mmu_pde_zapped) }, { "mmu_flooded", VM_STAT(mmu_flooded) }, { "mmu_recycled", VM_STAT(mmu_recycled) }, { "mmu_cache_miss", VM_STAT(mmu_cache_miss) }, { "remote_tlb_flush", VM_STAT(remote_tlb_flush) }, { NULL } }; Loading
include/asm-x86/kvm_host.h +1 −0 Original line number Diff line number Diff line Loading @@ -289,6 +289,7 @@ struct kvm_vm_stat { u32 mmu_pde_zapped; u32 mmu_flooded; u32 mmu_recycled; u32 mmu_cache_miss; u32 remote_tlb_flush; }; Loading