Messages in this thread | | | Subject | Re: [PATCH 3/6] iommu/vt-d: Don't force 32bit devices to uses DMA domain | From | Lu Baolu <> | Date | Sun, 8 Mar 2020 10:15:48 +0800 |
| |
Hi Christoph,
On 2020/3/7 22:21, Christoph Hellwig wrote: > On Sat, Mar 07, 2020 at 02:20:11PM +0800, Lu Baolu wrote: >> Currently, if a 32bit device initially uses an identity domain, >> Intel IOMMU driver will convert it forcibly to a DMA one if its >> address capability is not enough for the whole system memory. >> The motivation was to overcome the overhead caused by possible >> bounced buffer. >> >> Unfortunately, this improvement has led to many problems. For >> example, some 32bit devices are required to use an identity >> domain, forcing them to use DMA domain will cause the device >> not to work anymore. On the other hand, the VMD sub-devices >> share a domain but each sub-device might have different address >> capability. Forcing a VMD sub-device to use DMA domain blindly >> will impact the operation of other sub-devices without any >> notification. Further more, PCI aliased devices (PCI bridge >> and all devices beneath it, VMD devices and various devices >> quirked with pci_add_dma_alias()) must use the same domain. >> Forcing one device to switch to DMA domain during runtime >> will cause in-fligh DMAs for other devices to abort or target >> to other memory which might cause undefind system behavior. > > I still don't like the idea to enforce either a strict dynamic > IOMMU mapping or an identify mapping mode. > > Can we add a new AUTO domain which will allow using the identity > mapping when available? That somewhat matches the existing x86 > default, and also what powerpc does.
Sai is proposing a series to change the default domain through sysfs during runtime.
https://lore.kernel.org/linux-iommu/FFF73D592F13FD46B8700F0A279B802F4FBF7E4B@ORSMSX114.amr.corp.intel.com/T/#mb919da5567da7692ee7058a00a137145adf950a1
It has evolved into v2. Not sure whether it's what you want.
> I have a series to lift > that bypass mode into the core dma-mapping code that I need > to repost, which I think would be suitable for intel-iommu as well. >
Looking forward to your repost.
Best regards, baolu
| |