KVM: arm64: Count VMID-wide TLB invalidations
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 27 Jul 2021 10:32:51 +0000 (12:32 +0200)
committerMarc Zyngier <maz@kernel.org>
Mon, 2 Aug 2021 13:42:24 +0000 (14:42 +0100)
KVM/ARM has an architecture-specific implementation of
kvm_flush_remote_tlbs; however, unlike the generic one,
it does not count the flushes in kvm->stat.remote_tlb_flush,
so that it inexorably remained stuck to zero.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Oliver Upton <oupton@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210727103251.16561-1-pbonzini@redhat.com
arch/arm64/kvm/mmu.c

index 0625bf2..2ca0a49 100644 (file)
@@ -81,6 +81,7 @@ static bool memslot_is_logging(struct kvm_memory_slot *memslot)
 void kvm_flush_remote_tlbs(struct kvm *kvm)
 {
        kvm_call_hyp(__kvm_tlb_flush_vmid, &kvm->arch.mmu);
+       ++kvm->stat.generic.remote_tlb_flush;
 }
 
 static bool kvm_is_device_pfn(unsigned long pfn)