Re: [PATCH] Changing the AMD IOMMU API path to work in an atomic context which is necessary for any custom drivers using the IOMMU API while holding a spinlock.

From: Robin Murphy
Date: Fri Aug 24 2018 - 11:24:54 EST

On 24/08/18 15:53, Christoph Hellwig wrote:
On Fri, Aug 24, 2018 at 02:28:49PM +0000, murphyt7@xxxxxx wrote:
From: Tom Murphy <murphyt7@xxxxxx>


This patch allows the IOMMU API path in the AMD driver to be called from an atomic context.
This is useful for anyone building a driver which needs to call the IOMMU API while holding a spinlock.

I don't think that is a good idea. Please point to the code in the
driver and we can't probably find a better solution.

Although IIRC the AMD driver is in fact the only one whose map/unmap callbacks aren't already spinlock-safe (or at least it was last time I was looking). Stuff like iommu-dma is already relying on this in order to implement streaming DMA API calls (which may be in atomic context) on top of the corresponding IOMMU API operations.