lkml.org 
[lkml]   [2021]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 35/43] KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode
From
On 09/10/21 04:12, Sean Christopherson wrote:
> + */
> + if (vcpu->mode == IN_GUEST_MODE) {
> int cpu = READ_ONCE(vcpu->cpu);
>
> /*
> @@ -687,8 +692,13 @@ int svm_deliver_avic_intr(struct kvm_vcpu *vcpu, int vec)
> if (cpu != get_cpu())
> wrmsrl(SVM_AVIC_DOORBELL, kvm_cpu_get_apicid(cpu));
> put_cpu();
> - } else
> + } else {
> + /*
> + * Wake the vCPU if it was blocking. KVM will then detect the
> + * pending IRQ when checking if the vCPU has a wake event.
> + */
> kvm_vcpu_wake_up(vcpu);
> + }
>

Does this still need to check the "running" flag? That should be a
strict superset of vcpu->mode == IN_GUEST_MODE.

Paolo

\
 
 \ /
  Last update: 2021-10-25 16:27    [W:0.502 / U:1.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site