* [PATCH] iommu/dma: Remove redundant locking
@ 2025-02-26 15:57 Robin Murphy
2025-03-05 17:30 ` Jason Gunthorpe
2025-03-10 8:24 ` Joerg Roedel
0 siblings, 2 replies; 3+ messages in thread
From: Robin Murphy @ 2025-02-26 15:57 UTC (permalink / raw)
To: will, joro; +Cc: iommu, yf.wang
This reverts commit ac9a5d522bb80be50ea84965699e1c8257d745ce.
iommu_dma_init_domain() is now only called under the group mutex, as it
should be given that that the default domain belongs to the group, so
the additional internal locking is no longer needed.
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
drivers/iommu/dma-iommu.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index 2a9fa0c8cc00..44afb0c5e80d 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -86,7 +86,6 @@ struct iommu_dma_cookie {
struct iommu_domain *fq_domain;
/* Options for dma-iommu use */
struct iommu_dma_options options;
- struct mutex mutex;
};
static DEFINE_STATIC_KEY_FALSE(iommu_deferred_attach_enabled);
@@ -397,7 +396,6 @@ int iommu_get_dma_cookie(struct iommu_domain *domain)
if (!domain->iova_cookie)
return -ENOMEM;
- mutex_init(&domain->iova_cookie->mutex);
return 0;
}
@@ -698,23 +696,20 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, struct device *dev
domain->geometry.aperture_start >> order);
/* start_pfn is always nonzero for an already-initialised domain */
- mutex_lock(&cookie->mutex);
if (iovad->start_pfn) {
if (1UL << order != iovad->granule ||
base_pfn != iovad->start_pfn) {
pr_warn("Incompatible range for DMA domain\n");
- ret = -EFAULT;
- goto done_unlock;
+ return -EFAULT;
}
- ret = 0;
- goto done_unlock;
+ return 0;
}
init_iova_domain(iovad, 1UL << order, base_pfn);
ret = iova_domain_init_rcaches(iovad);
if (ret)
- goto done_unlock;
+ return ret;
iommu_dma_init_options(&cookie->options, dev);
@@ -723,11 +718,7 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, struct device *dev
(!device_iommu_capable(dev, IOMMU_CAP_DEFERRED_FLUSH) || iommu_dma_init_fq(domain)))
domain->type = IOMMU_DOMAIN_DMA;
- ret = iova_reserve_iommu_regions(dev, domain);
-
-done_unlock:
- mutex_unlock(&cookie->mutex);
- return ret;
+ return iova_reserve_iommu_regions(dev, domain);
}
/**
--
2.39.2.101.g768bb238c484.dirty
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] iommu/dma: Remove redundant locking
2025-02-26 15:57 [PATCH] iommu/dma: Remove redundant locking Robin Murphy
@ 2025-03-05 17:30 ` Jason Gunthorpe
2025-03-10 8:24 ` Joerg Roedel
1 sibling, 0 replies; 3+ messages in thread
From: Jason Gunthorpe @ 2025-03-05 17:30 UTC (permalink / raw)
To: Robin Murphy; +Cc: will, joro, iommu, yf.wang
On Wed, Feb 26, 2025 at 03:57:49PM +0000, Robin Murphy wrote:
> This reverts commit ac9a5d522bb80be50ea84965699e1c8257d745ce.
Minor, style guide says to use fixes format for commit references:
commit ac9a5d522bb8 ("iommu/dma: Fix race condition during iova_domain initialization")
> iommu_dma_init_domain() is now only called under the group mutex, as it
> should be given that that the default domain belongs to the group, so
> the additional internal locking is no longer needed.
>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
> drivers/iommu/dma-iommu.c | 17 ++++-------------
> 1 file changed, 4 insertions(+), 13 deletions(-)
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] iommu/dma: Remove redundant locking
2025-02-26 15:57 [PATCH] iommu/dma: Remove redundant locking Robin Murphy
2025-03-05 17:30 ` Jason Gunthorpe
@ 2025-03-10 8:24 ` Joerg Roedel
1 sibling, 0 replies; 3+ messages in thread
From: Joerg Roedel @ 2025-03-10 8:24 UTC (permalink / raw)
To: Robin Murphy; +Cc: will, iommu, yf.wang
On Wed, Feb 26, 2025 at 03:57:49PM +0000, Robin Murphy wrote:
> This reverts commit ac9a5d522bb80be50ea84965699e1c8257d745ce.
>
> iommu_dma_init_domain() is now only called under the group mutex, as it
> should be given that that the default domain belongs to the group, so
> the additional internal locking is no longer needed.
>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
> drivers/iommu/dma-iommu.c | 17 ++++-------------
> 1 file changed, 4 insertions(+), 13 deletions(-)
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-03-10 8:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-26 15:57 [PATCH] iommu/dma: Remove redundant locking Robin Murphy
2025-03-05 17:30 ` Jason Gunthorpe
2025-03-10 8:24 ` Joerg Roedel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.