Re: [PATCH 2/4] KVM: VMX: avoid double list add with VT-d posted interrupts

From: Paolo Bonzini
Date: Thu Jun 08 2017 - 07:24:58 EST




On 08/06/2017 11:16, Peter Xu wrote:
>> Oh, I see what you mean: set up the wakeup handler in vmx_vcpu_pi_put
>> and rely on PI.ON to wake up the sleeping process immediately. That
>> should be feasible, but overall I like the current pre_block/post_block
>> structure, and I think it's simpler. The only thing to be careful about
>> is leaving the IRTE unmodified when scheduling out a blocked VCPU, which
>> is cleaned up and simplified in patch 3.
>>
>> So I understand that the state may seem a bit too complicated as
>> of this patch, but hopefully the next two make it clearer.
> After re-read the codes and patches I got the point. Indeed current
> way should be clearer since pre/post_block are mostly handling NV/DST
> while pi_load/put are for SN bit. Thanks!

Almost: pi_load handles NDST too. However, I think with patch 3 it's
clearer how pi_load handles the nesting inside pre_block...post_block.

Thanks,

Paolo