AMD/IOMMU: process softirqs while dumping IRTs 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 --- v3: New. --- TBD: Seeing the volume of output I wonder whether we should further suppress logging headers of devices which have no active entry (i.e. emit the header only upon finding the first IRTE worth logging). And while minor for the total volume of output I'm also unconvinced logging both a "per device" header line and a "shared" one makes sense, when only one of the two can actually be followed by actual contents. --- a/xen/drivers/passthrough/amd/iommu_intr.c +++ b/xen/drivers/passthrough/amd/iommu_intr.c @@ -22,6 +22,7 @@ #include #include #include +#include struct irte_basic { bool remap_en:1; @@ -917,6 +918,8 @@ static int dump_intremap_mapping(const s dump_intremap_table(iommu, ivrs_mapping->intremap_table); spin_unlock_irqrestore(&(ivrs_mapping->intremap_lock), flags); + process_pending_softirqs(); + return 0; }