* [PATCH] iommu: Remove useless flush from iommu_create_device_direct_mappings()
@ 2024-10-18 17:01 Jason Gunthorpe
2024-10-21 5:19 ` Baolu Lu
2024-10-29 8:52 ` Joerg Roedel
0 siblings, 2 replies; 3+ messages in thread
From: Jason Gunthorpe @ 2024-10-18 17:01 UTC (permalink / raw)
To: iommu, Joerg Roedel, Robin Murphy, Will Deacon; +Cc: patches
These days iommu_map() does not require external flushing, it always
internally handles any required flushes. Since
iommu_create_device_direct_mappings() only calls iommu_map(), remove
the extra call.
Since this is the last call site for iommu_flush_iotlb_all() remove it
too.
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
---
drivers/iommu/iommu.c | 4 ----
include/linux/iommu.h | 10 ----------
2 files changed, 14 deletions(-)
I looked in the git history and mailing list for a while to try to figure out
why this was added, and it looks like some mistake. It appeared without any
changelog in v2 of the series, and at the time map didn't require it.
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 83c8e617a2c588..37c080cfde443d 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -1141,10 +1141,6 @@ static int iommu_create_device_direct_mappings(struct iommu_domain *domain,
}
}
-
- if (!list_empty(&mappings) && iommu_is_dma_domain(domain))
- iommu_flush_iotlb_all(domain);
-
out:
iommu_put_resv_regions(dev, &mappings);
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index bd722f47363520..6288d29141bebd 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -853,12 +853,6 @@ void iommu_set_dma_strict(void);
extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
unsigned long iova, int flags);
-static inline void iommu_flush_iotlb_all(struct iommu_domain *domain)
-{
- if (domain->ops->flush_iotlb_all)
- domain->ops->flush_iotlb_all(domain);
-}
-
static inline void iommu_iotlb_sync(struct iommu_domain *domain,
struct iommu_iotlb_gather *iotlb_gather)
{
@@ -1147,10 +1141,6 @@ static inline ssize_t iommu_map_sg(struct iommu_domain *domain,
return -ENODEV;
}
-static inline void iommu_flush_iotlb_all(struct iommu_domain *domain)
-{
-}
-
static inline void iommu_iotlb_sync(struct iommu_domain *domain,
struct iommu_iotlb_gather *iotlb_gather)
{
base-commit: 55b733c04008097dcc982aecc87174a43670d2b2
--
2.46.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] iommu: Remove useless flush from iommu_create_device_direct_mappings()
2024-10-18 17:01 [PATCH] iommu: Remove useless flush from iommu_create_device_direct_mappings() Jason Gunthorpe
@ 2024-10-21 5:19 ` Baolu Lu
2024-10-29 8:52 ` Joerg Roedel
1 sibling, 0 replies; 3+ messages in thread
From: Baolu Lu @ 2024-10-21 5:19 UTC (permalink / raw)
To: Jason Gunthorpe, iommu, Joerg Roedel, Robin Murphy, Will Deacon
Cc: baolu.lu, patches
On 2024/10/19 1:01, Jason Gunthorpe wrote:
> These days iommu_map() does not require external flushing, it always
> internally handles any required flushes. Since
> iommu_create_device_direct_mappings() only calls iommu_map(), remove
> the extra call.
>
> Since this is the last call site for iommu_flush_iotlb_all() remove it
> too.
>
> Signed-off-by: Jason Gunthorpe<jgg@nvidia.com>
> ---
> drivers/iommu/iommu.c | 4 ----
> include/linux/iommu.h | 10 ----------
> 2 files changed, 14 deletions(-)
It's fine for the intel driver, so
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Thanks,
baolu
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] iommu: Remove useless flush from iommu_create_device_direct_mappings()
2024-10-18 17:01 [PATCH] iommu: Remove useless flush from iommu_create_device_direct_mappings() Jason Gunthorpe
2024-10-21 5:19 ` Baolu Lu
@ 2024-10-29 8:52 ` Joerg Roedel
1 sibling, 0 replies; 3+ messages in thread
From: Joerg Roedel @ 2024-10-29 8:52 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: iommu, Robin Murphy, Will Deacon, patches
On Fri, Oct 18, 2024 at 02:01:19PM -0300, Jason Gunthorpe wrote:
> drivers/iommu/iommu.c | 4 ----
> include/linux/iommu.h | 10 ----------
> 2 files changed, 14 deletions(-)
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-10-29 8:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18 17:01 [PATCH] iommu: Remove useless flush from iommu_create_device_direct_mappings() Jason Gunthorpe
2024-10-21 5:19 ` Baolu Lu
2024-10-29 8:52 ` Joerg Roedel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox