|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/2] VT-d flush issue
This patches are based on Kevin Tian's previous discussion 'Revisit VT-d
asynchronous flush issue'.
Fix current timeout concern and also allow limited ATS support in a light way:
1. Reduce spin timeout to 1ms, which can be boot-time changed with
'iommu_qi_timeout_ms'.
For example:
multiboot /boot/xen.gz ats=1 iommu_qi_timeout_ms=100
2. Fix vt-d flush timeout issue.
If IOTLB/Context/IETC flush is timeout, we should think all devices under
this IOMMU cannot function correctly.
So for each device under this IOMMU we'll mark it as unassignable and kill
the domain owning the device.
If Device-TLB flush is timeout, we'll mark the target ATS device as
unassignable and kill the domain owning
this device. When the invalidation request descriptor is timeout,
hypervisor cannot find out which Device-TLB
invalidate descriptor submitted before is not correct. So mark all of the
domain's ATS devices as unassignable.
If impacted domain is Dom0 or hardware domain, just throw out a warning.
It's an open here whether we want to kill
Dom0 or hardware domain (or directly panic hypervisor). Comments are
welcomed.
Device marked as unassignable will be disallowed to be further assigned to
any domain.
*Kevin Tian did basic functional review.
Quan Xu (2):
VT-d: Reduce spin timeout to 1ms, which can be boot-time changed.
VT-d: Fix vt-d flush timeout issue.
xen/drivers/passthrough/vtd/iommu.c | 6 ++
xen/drivers/passthrough/vtd/iommu.h | 2 +
xen/drivers/passthrough/vtd/qinval.c | 111 ++++++++++++++++++++++++++++++++++-
xen/include/xen/pci.h | 7 +++
4 files changed, 123 insertions(+), 3 deletions(-)
--
1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |