Re: [PATCH] KVM: Rework core loop of kvm_vcpu_on_spin() to use a single for-loop
From: Sean Christopherson
Date: Thu Oct 31 2024 - 15:54:03 EST
On Fri, 02 Aug 2024 13:21:21 -0700, Sean Christopherson wrote:
> Rework kvm_vcpu_on_spin() to use a single for-loop instead of making "two"
> passes over all vCPUs. Given N=kvm->last_boosted_vcpu, the logic is to
> iterate from vCPU[N+1]..vcpu[N-1], i.e. using two loops is just a kludgy
> way of handling the wrap from the last vCPU to vCPU0 when a boostable vCPU
> isn't found in vcpu[N+1]..vcpu[MAX].
>
> Open code the xa_load() instead of using kvm_get_vcpu() to avoid reading
> online_vcpus in every loop, as well as the accompanying smp_rmb(), i.e.
> make it a custom kvm_for_each_vcpu(), for all intents and purposes.
>
> [...]
Applied to kvm-x86 generic, thanks!
[1/1] KVM: Rework core loop of kvm_vcpu_on_spin() to use a single for-loop
https://github.com/kvm-x86/linux/commit/7e513617da71
--
https://github.com/kvm-x86/linux/tree/next