Messages in this thread | | | Subject | Re: [PATCH v5 02/10] iommu/vt-d: Use per-device dma_ops | From | Lu Baolu <> | Date | Wed, 13 Nov 2019 10:50:27 +0800 |
| |
Hi Christoph,
On 11/12/19 3:16 PM, Christoph Hellwig wrote: > On Fri, Jul 26, 2019 at 09:56:51AM +0800, Lu Baolu wrote: >> I think current code doesn't do the right thing. The user asks the iommu >> driver to use identity domain for a device, but the driver force it back >> to DMA domain because of the device address capability. >> >>> expensive. I don't think that this change is a good idea, and even if >>> we decide that this is a good idea after all that should be done in a >>> separate prep patch that explains the rationale. >> >> Yes. Make sense. > > Now that the bounce code has landed it might be good time to revisit > this patch in isolation and with a better explanation. >
Yes. Thanks for bringing this up.
Currently, this is a block issue for using per-device dma ops in Intel IOMMU driver. Hence block this driver from using the generic iommu dma ops.
I'd like to align Intel IOMMU driver with other vendors. Use iommu dma ops for devices which have been selected to go through iommu. And use direct dma ops if selected to by pass.
One concern of this propose is that for devices with limited address capability, shall we force it to use iommu or alternatively use swiotlb if user decides to let it by pass iommu.
I understand that using swiotlb will cause some overhead due to the bounced buffer, but Intel IOMMU is default on hence any users who use a default kernel won't suffer this. We only need to document this so that users understand this overhead when they decide to let such devices by pass iommu. This is common to all vendor iommu drivers as far as I can see.
Best regards, baolu
| |