On 27/10/21 18:08, Sean Christopherson wrote:
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?
LOL, I think we have a Three^WTwo Stooges routine going on. This patch does
remove avic_vcpu_is_running() and replaces it with the vcpu->mode check. Or am
I completely misunderstanding what your referring to?
- if (avic_vcpu_is_running(vcpu)) {
+ /*
+ * Signal the doorbell to tell hardware to inject the IRQ if the vCPU
+ * is in the guest. If the vCPU is not in the guest, hardware will
+ * automatically process AVIC interrupts at VMRUN.
+ */
+ if (vcpu->mode == IN_GUEST_MODE) {
int cpu = READ_ONCE(vcpu->cpu);
Nevermind, I confused svm_deliver_avic_intr with avic_kick_target_vcpus,
which anyway you are handling in patch 36.
Paolo