]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
AMD/IOMMU: process softirqs while dumping IRTs
authorJan Beulich <jbeulich@suse.com>
Mon, 22 Jul 2019 10:03:46 +0000 (12:03 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 22 Jul 2019 10:03:46 +0000 (12:03 +0200)
When there are sufficiently many devices listed in the ACPI tables (no
matter if they actually exist), output may take way longer than the
watchdog would like.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Brian Woods <brian.woods@amd.com>
xen/drivers/passthrough/amd/iommu_intr.c

index 925651ec2daf806bbe3061038354a8761d1dce0c..edc3cae431f41ae05af08f2a2801081e5cc1326c 100644 (file)
@@ -22,6 +22,7 @@
 #include <asm/hvm/svm/amd-iommu-proto.h>
 #include <asm/io_apic.h>
 #include <xen/keyhandler.h>
+#include <xen/softirq.h>
 
 #define INTREMAP_TABLE_ORDER    1
 #define INTREMAP_LENGTH 0xB
@@ -698,6 +699,8 @@ static int dump_intremap_mapping(u16 seg, struct ivrs_mappings *ivrs_mapping)
     dump_intremap_table(ivrs_mapping->intremap_table);
     spin_unlock_irqrestore(&(ivrs_mapping->intremap_lock), flags);
 
+    process_pending_softirqs();
+
     return 0;
 }