[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] VT-d: restrict iommu_flush_all() to cache writeback



commit e21800ff1e8641c8e486a79db13b51f1a373b4c2
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu May 15 08:54:50 2025 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu May 15 08:54:50 2025 +0200

    VT-d: restrict iommu_flush_all() to cache writeback
    
    We don't need to invalidate caches here; all we're after is that earlier
    writes have made it to main memory (and aiui even that just in case).
    Plus we only need to do this if any of the IOMMUs is non-coherent.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 xen/drivers/passthrough/vtd/iommu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c 
b/xen/drivers/passthrough/vtd/iommu.c
index a1927d9f12..c55f02c97e 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -698,7 +698,8 @@ static int __must_check iommu_flush_all(void)
     bool flush_dev_iotlb;
     int rc = 0;
 
-    flush_local(FLUSH_CACHE);
+    if ( iommu_non_coherent )
+        flush_local(FLUSH_CACHE_WRITEBACK);
 
     for_each_drhd_unit ( drhd )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.