Re: [PATCH V5 1/5] iommu/amd: Remove unnecessary locking from AMD iommu driver

Christoph Hellwig
2019-08-20T09:41:55Z

On Thu, Aug 15, 2019 at 12:09:39PM +0100, Tom Murphy wrote:
> We can remove the mutex lock from amd_iommu_map and amd_iommu_unmap.
> iommu_map doesn’t lock while mapping and so no two calls should touch
> the same iova range. The AMD driver already handles the page table page
> allocations without locks so we can safely remove the locks.

I've been looking over the code and trying to understand how the
synchronization works. I gues we the cmpxchg64 in free_clear_pte
is the important point here? I have to admit I don't fully understand
the concurrency issues here, but neither do I understand what the
mutex you removed might have helped to start with.