Message ID | 20211009021236.4122790-44-seanjc@google.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | KVM: Halt-polling and x86 APICv overhaul | expand |
On 09/10/21 04:12, Sean Christopherson wrote: > When waking vCPUs in the posted interrupt wakeup handling, do exactly > that and no more. There is no need to kick the vCPU as the wakeup > handler just need to get the vCPU task running, and if it's in the guest > then it's definitely running. And more important, the transition from blocking to running will have gone through sync_pir_to_irr, thus checking ON and manually moving the vector from PIR to RVI. Paolo
On Mon, 2021-10-25 at 16:16 +0200, Paolo Bonzini wrote: > On 09/10/21 04:12, Sean Christopherson wrote: > > When waking vCPUs in the posted interrupt wakeup handling, do exactly > > that and no more. There is no need to kick the vCPU as the wakeup > > handler just need to get the vCPU task running, and if it's in the guest > > then it's definitely running. > > And more important, the transition from blocking to running will have > gone through sync_pir_to_irr, thus checking ON and manually moving the > vector from PIR to RVI. > > Paolo > I also think so, and maybe this can be added to the commit message. Anyway, last one for the series :) Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Best regards, Maxim Levitsky
diff --git a/arch/x86/kvm/vmx/posted_intr.c b/arch/x86/kvm/vmx/posted_intr.c index f1bcf8c32b6d..06eb9c950760 100644 --- a/arch/x86/kvm/vmx/posted_intr.c +++ b/arch/x86/kvm/vmx/posted_intr.c @@ -192,7 +192,7 @@ void pi_wakeup_handler(void) pi_wakeup_list) { if (pi_test_on(&vmx->pi_desc)) - kvm_vcpu_kick(&vmx->vcpu); + kvm_vcpu_wake_up(&vmx->vcpu); } spin_unlock(&per_cpu(wakeup_vcpus_on_cpu_lock, cpu)); }
When waking vCPUs in the posted interrupt wakeup handling, do exactly that and no more. There is no need to kick the vCPU as the wakeup handler just need to get the vCPU task running, and if it's in the guest then it's definitely running. Signed-off-by: Sean Christopherson <seanjc@google.com> --- arch/x86/kvm/vmx/posted_intr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)