[PATCH 0/7] KVM: arm64: add more event counters for kvm_stat

Yoan Picchi yoan.picchi at arm.com
Fri Mar 19 16:17:04 GMT 2021


Hi all,

As mentioned in the KVM forum talk from 2019 
(https://kvmforum2019.sched.com/event/Tmwf/kvmstat-and-beyond-past-present-and-future-of-performance-monitoring-christian-borntrager-ibm page 10),
there is few event counters for kvm_stat in the arm64 version of kvm when
you compare it to something like the x86 version.
Those counters are used in kvm_stat by kernel/driver developers to
have a rough idea of the impact of their patches on the general performance.
An example would be to make sure a patch don't increase to much the amount
of interruptions. Those patches aim to add more counters to make the use of
kvm_stat more relevant when measuring performance impact.

I am new in working on kernel-related things and I am learning kvm as I go.
Some of the counter I added early (memory_slot_unmaped, stage2_unmap_vm)
no longer seems relevant because while they do interesting things, they
happens in very specific scenarios. Instead of just deleting them, I prefer
to ask weither a little-used counter or no counter is the best.
I can also use some suggestion on how to test those counters as some like 
remote_tlb_flush which mostly happen when fixing up a race condition; or
what uncovered event could be worth adding in a future patch set.

Yoan Picchi (7):
  KVM: arm64: Add two page mapping counters for kvm_stat
  KVM: arm64: Add remote_tlb_flush counter for kvm_stat
  KVM: arm64: Add cached_page_invalidated counter for kvm_stat
  KVM: arm64: Add flush_all_cache_lines counter for kvm_stat
  KVM: arm64: Add memory_slot_unmaped counter for kvm_stat
  KVM: arm64: Add stage2_unmap_vm counter for kvm_stat
  KVM: arm64: Add irq_inject counter for kvm_stat

 arch/arm64/include/asm/kvm_host.h |  8 ++++++++
 arch/arm64/kvm/arm.c              |  2 ++
 arch/arm64/kvm/guest.c            |  9 +++++++++
 arch/arm64/kvm/mmu.c              | 27 ++++++++++++++++++++++++++-
 arch/arm64/kvm/vgic/vgic.c        |  2 ++
 5 files changed, 47 insertions(+), 1 deletion(-)

-- 
2.17.1




More information about the linux-arm-kernel mailing list