Re: [Xen-devel] [PATCH v10 3/3] vt-d: fix vt-d Device-TLB flush timeout issue

2016-05-23 Thread Xu, Quan
On May 20, 2016 5:59 PM, Jan Beulich wrote: > >>> On 20.05.16 at 09:15, wrote: > > On May 17, 2016 10:00 PM, Jan Beulich wrote: > >> >>> On 22.04.16 at 12:54, wrote: > >> > --- a/xen/drivers/passthrough/vtd/qinval.c >

Re: [Xen-devel] [PATCH v10 3/3] vt-d: fix vt-d Device-TLB flush timeout issue

2016-05-20 Thread Jan Beulich
>>> On 20.05.16 at 09:15, wrote: > On May 17, 2016 10:00 PM, Jan Beulich wrote: >> >>> On 22.04.16 at 12:54, wrote: >> > --- a/xen/drivers/passthrough/vtd/qinval.c >> > +++ b/xen/drivers/passthrough/vtd/qinval.c >> > @@ -206,10 +206,71 @@

Re: [Xen-devel] [PATCH v10 3/3] vt-d: fix vt-d Device-TLB flush timeout issue

2016-05-20 Thread Xu, Quan
On May 17, 2016 10:00 PM, Jan Beulich wrote: > >>> On 22.04.16 at 12:54, wrote: > > --- a/xen/drivers/passthrough/vtd/qinval.c > > +++ b/xen/drivers/passthrough/vtd/qinval.c > > @@ -206,10 +206,71 @@ static int invalidate_sync(struct iommu *iommu) > >

Re: [Xen-devel] [PATCH v10 3/3] vt-d: fix vt-d Device-TLB flush timeout issue

2016-05-18 Thread Xu, Quan
On May 17, 2016 10:00 PM, Jan Beulich wrote: > >>> On 22.04.16 at 12:54, wrote: > > --- a/xen/drivers/passthrough/vtd/qinval.c > > +++ b/xen/drivers/passthrough/vtd/qinval.c > > @@ -206,10 +206,71 @@ static int invalidate_sync(struct iommu *iommu) > >

Re: [Xen-devel] [PATCH v10 3/3] vt-d: fix vt-d Device-TLB flush timeout issue

2016-05-17 Thread Jan Beulich
>>> On 22.04.16 at 12:54, wrote: > --- a/xen/drivers/passthrough/vtd/qinval.c > +++ b/xen/drivers/passthrough/vtd/qinval.c > @@ -206,10 +206,71 @@ static int invalidate_sync(struct iommu *iommu) > return 0; > } > > +static void dev_invalidate_iotlb_timeout(struct iommu

[Xen-devel] [PATCH v10 3/3] vt-d: fix vt-d Device-TLB flush timeout issue

2016-04-22 Thread Quan Xu
If Device-TLB flush timed out, we hide the target ATS device immediately and crash the domain owning this ATS device. If impacted domain is hardware domain, just throw out a warning. By hiding the device, we make sure it can't be assigned to any domain any longer (see device_assigned).