[PATCH 0/2] KVM: Protect vCPU's PID with a rwlock

From: Sean Christopherson
Date: Fri Aug 02 2024 - 16:01:53 EST


Protect vcpu->pid with a rwlock instead of RCU, so that running a vCPU
with a different task doesn't require a full RCU synchronization, which
can introduce a non-trivial amount of jitter, especially on large systems.

I've had this mini-series sitting around for ~2 years, pretty much as-is.
I could have sworn past me thought there was a flaw in using a rwlock, and
so I never posted it, but for the life of me I can't think of any issues.

Extra eyeballs would be much appreciated.

Sean Christopherson (2):
KVM: Return '0' directly when there's no task to yield to
KVM: Protect vCPU's "last run PID" with rwlock, not RCU

arch/arm64/include/asm/kvm_host.h | 2 +-
include/linux/kvm_host.h | 3 ++-
virt/kvm/kvm_main.c | 36 +++++++++++++++++--------------
3 files changed, 23 insertions(+), 18 deletions(-)


base-commit: 332d2c1d713e232e163386c35a3ba0c1b90df83f
--
2.46.0.rc2.264.g509ed76dc8-goog