|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v12 7/7] passthrough/io: Fall back to remapping interrupt when we can't use VT-d PI
On Fri, Apr 07, 2017 at 06:54:59AM -0600, Jan Beulich wrote:
>>>> On 06.04.17 at 02:30, <chao.gao@xxxxxxxxx> wrote:
>> The current logic of using VT-d pi is when guest configurates the pirq's
>> destination vcpu to a single vcpu, the according IRTE is updated to
>> posted format. If the destination of the pirq is multiple vcpus, we will
>> stay in posted format. Obviously, we should fall back to remapping interrupt
>> when guest wrongly configurate destination of pirq or makes it have
>> multi-destination vcpus.
>>
>> Signed-off-by: Chao Gao <chao.gao@xxxxxxxxx>
>> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
>> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>
>> ---
>> v11:
>> - move the code (one line) that allow the parameter 'vcpu' of
>> pi_update_irte()
>> can be NULL to Patch [2/6].
>
>There was a change in v12 too, and I'm afraid it's buggy:
Indeed.
>
>> --- a/xen/drivers/passthrough/io.c
>> +++ b/xen/drivers/passthrough/io.c
>> @@ -413,15 +413,8 @@ int pt_irq_create_bind(
>>
>> /* Use interrupt posting if it is supported. */
>> if ( iommu_intpost )
>> - {
>> - if ( vcpu )
>> - pi_update_irte(&vcpu->arch.hvm_vmx.pi_desc, info,
>> - pirq_dpci->gmsi.gvec);
>> - else
>> - dprintk(XENLOG_G_INFO,
>> - "%pv: deliver interrupt in remapping
>> mode,gvec:%02x\n",
>> - vcpu, pirq_dpci->gmsi.gvec);
>> - }
>> + pi_update_irte(&vcpu->arch.hvm_vmx.pi_desc, info,
>> + pirq_dpci->gmsi.gvec);
>
>pi_update_irte() tolerates a NULL first argument, but if vcpu is NULL
>you don't pass NULL here. I'll fix this up while committing.
>
Thanks for your kind help.
Chao
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |