Re: [PATCH V3] KVM: x86: Sync the pending Posted-Interrupts

From: Paolo Bonzini
Date: Mon Feb 04 2019 - 05:00:50 EST


On 01/02/19 06:44, Kang, Luwei wrote:
>
> Do you mean remove the blow code in vmx_vcpu_pi_load() function to make the ON can be set if PIR is not zero?
>
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -1192,21 +1192,6 @@ static void vmx_vcpu_pi_load(struct kvm_vcpu *vcpu, int cpu)
> if (!pi_test_sn(pi_desc) && vcpu->cpu == cpu)
> return;
>
> - /*
> - * First handle the simple case where no cmpxchg is necessary; just
> - * allow posting non-urgent interrupts.
> - *
> - * If the 'nv' field is POSTED_INTR_WAKEUP_VECTOR, do not change
> - * PI.NDST: pi_post_block will do it for us and the wakeup_handler
> - * expects the VCPU to be on the blocked_vcpu_list that matches
> - * PI.NDST.
> - */
> - if (pi_desc->nv == POSTED_INTR_WAKEUP_VECTOR ||
> - vcpu->cpu == cpu) {
> - pi_clear_sn(pi_desc);
> - return;
> - }

Yes, exactly.

Paolo