[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 |