[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6 04/18] vt-d: VT-d Posted-Interrupts feature detection
> -----Original Message----- > From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > Sent: Friday, September 04, 2015 10:31 PM > To: Wu, Feng > Cc: Tian, Kevin; Zhang, Yang Z; xen-devel@xxxxxxxxxxxxx > Subject: Re: [Xen-devel] [PATCH v6 04/18] vt-d: VT-d Posted-Interrupts feature > detection > > >>> On 25.08.15 at 03:57, <feng.wu@xxxxxxxxx> wrote: > > --- a/xen/drivers/passthrough/vtd/iommu.c > > +++ b/xen/drivers/passthrough/vtd/iommu.c > > @@ -2079,6 +2079,9 @@ static int init_vtd_hw(void) > > disable_intremap(drhd->iommu); > > } > > > > + if ( !iommu_intremap ) > > + iommu_intpost = 0; > > Why is this being repeated here? iommu_setup() is already taking > care of this thanks to the earlier patch. Here is my original thought, we have two path to get here as below: iommu_setup() -> ... -> int_vtd_hw() vtd_resume() -> ... -> int_vtd_hw() I added the logic here to cover the 'vtd_resume()' case, however, after thinking more, seems I don't need to do this, because the logic has been done before resume, it should be there after back, right? > > > @@ -2176,6 +2179,14 @@ int __init intel_vtd_setup(void) > > if ( iommu_intremap && !ecap_intr_remap(iommu->ecap) ) > > iommu_intremap = 0; > > > > + /* > > + * We cannot use posted interrupt if X86_FEATURE_CX16 is > > + * not supported, since we count on this feature to > > + * atomically update 16-byte IRTE in posted format. > > + */ > > + if ( !iommu_intremap || !cap_intr_post(iommu->cap) > || !cpu_has_cx16 ) > > + iommu_intpost = 0; > > You should check iommu_intpost instead of iommu_intremap to > match the other checks above here. Here I followed your advice: http://lists.xenproject.org/archives/html/xen-devel/2015-06/msg01261.html I think the following code should be ok here though, if you like it, I can change back. + if ( !iommu_intpost || !cap_intr_post(iommu->cap) + || !cpu_has_cx16 ) + iommu_intpost = 0; Thanks, Feng > > Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |