diff mbox series

iommu/amd-vi: avoid pointless flushes in invalidate_all_domain_pages()

Message ID 20230707135915.47359-1-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show
Series iommu/amd-vi: avoid pointless flushes in invalidate_all_domain_pages() | expand

Commit Message

Roger Pau Monne July 7, 2023, 1:59 p.m. UTC
Fix invalidate_all_domain_pages() to only attempt to flush the domains
that have IOMMU enabled, otherwise the flush is pointless.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/drivers/passthrough/amd/iommu_init.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Jan Beulich July 10, 2023, 10:10 a.m. UTC | #1
On 07.07.2023 15:59, Roger Pau Monne wrote:
> Fix invalidate_all_domain_pages() to only attempt to flush the domains
> that have IOMMU enabled, otherwise the flush is pointless.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
diff mbox series

Patch

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index 7dbd7e7d094a..af6713d2fc02 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -1532,8 +1532,10 @@  int __init amd_iommu_init_late(void)
 static void invalidate_all_domain_pages(void)
 {
     struct domain *d;
+
     for_each_domain( d )
-        amd_iommu_flush_all_pages(d);
+        if ( is_iommu_enabled(d) )
+            amd_iommu_flush_all_pages(d);
 }
 
 static int cf_check _invalidate_all_devices(