[PATCH 0/3] KVM: Speed up MMIO registrations
From: Keir Fraser
Date: Tue Jun 24 2025 - 05:23:16 EST
This series improves performance of MMIO registrations, which occur
multiple times when booting a typical VM. The existing call to
synchronize_srcu() may block for a considerable time: In our tests
it was found to account for approximately 25% of a VM's startup time.
arm64 vgic code is cleaned up and made responsible for
its own setup synchronization, and the MMIO registration logic
replaces synchronize_srcu() with a deferred callback to free the old
io_bus struct.
Keir Fraser (3):
KVM: arm64: vgic-init: Remove vgic_ready() macro
KVM: arm64: vgic: Explicitly implement vgic_dist::ready ordering
KVM: Avoid synchronize_srcu() in kvm_io_bus_register_dev()
arch/arm64/kvm/vgic/vgic-init.c | 14 +++-----------
include/kvm/arm_vgic.h | 1 -
include/linux/kvm_host.h | 1 +
virt/kvm/kvm_main.c | 10 ++++++++--
4 files changed, 12 insertions(+), 14 deletions(-)
--
2.50.0.rc2.761.g2dc52ea45b-goog