[PATCH v2 35/43] KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode
Paolo Bonzini
pbonzini at redhat.com
Wed Oct 27 08:36:18 PDT 2021
On 27/10/21 17:06, Sean Christopherson wrote:
>> Does this still need to check the "running" flag? That should be a strict
>> superset of vcpu->mode == IN_GUEST_MODE.
>
> No. Signalling the doorbell when "running" is set but the vCPU is not in the
> guest is just an expensive nop. So even if KVM were to rework its handling of
> "running" to set the flag immediately before VMRUN and clear it immediately after,
> keying off IN_GUEST_MODE and not "running" would not be wrong, just sub-optimal.
>
> I doubt KVM will ever make the "running" flag super precise, because keeping the
> flag set when the vCPU is loaded avoids VM-Exits on other vCPUs due to undelivered
> IPIs.
Right, so should we drop the "if (running)" check in this patch, at the
same time as it's adding the IN_GUEST_MODE check?
Paolo
More information about the kvm-riscv
mailing list