Message ID | 20240802200136.329973-1-seanjc@google.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM: Protect vCPU's PID with a rwlock | expand |
On Fri, Aug 02, 2024 at 01:01:34PM -0700, Sean Christopherson wrote: > 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. Besides the nitpicks: Acked-by: Oliver Upton <oliver.upton@linux.dev>
On Fri, 02 Aug 2024 13:01:34 -0700, Sean Christopherson wrote: > 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. > > [...] Applied to kvm-x86 generic, with a comment explaining the vcpu->mutex is the true protector of vcpu->pid. Oliver, I didn't add the requested lockdep notification, I really want to make that a separate discussion: https://lore.kernel.org/all/20241009150455.1057573-7-seanjc@google.com [1/2] KVM: Return '0' directly when there's no task to yield to https://github.com/kvm-x86/linux/commit/6cf9ef23d942 [2/2] KVM: Protect vCPU's "last run PID" with rwlock, not RCU https://github.com/kvm-x86/linux/commit/3e7f43188ee2 -- https://github.com/kvm-x86/linux/tree/next