diff options
author | Dimitri Sivanich <sivanich@hpe.com> | 2024-04-24 09:16:29 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2024-04-26 11:57:36 +0200 |
commit | d74169ceb0d2e32438946a2f1f9fc8c803304bd6 (patch) | |
tree | 3c9e7d3d50d317c44291f01c5779f1ec0fab0b08 /drivers/iommu/irq_remapping.h | |
parent | iommu/vt-d: Use try_cmpxchg64{,_local}() in iommu.c (diff) | |
download | linux-d74169ceb0d2e32438946a2f1f9fc8c803304bd6.tar.xz linux-d74169ceb0d2e32438946a2f1f9fc8c803304bd6.zip |
iommu/vt-d: Allocate DMAR fault interrupts locally
The Intel IOMMU code currently tries to allocate all DMAR fault interrupt
vectors on the boot cpu. On large systems with high DMAR counts this
results in vector exhaustion, and most of the vectors are not initially
allocated socket local.
Instead, have a cpu on each node do the vector allocation for the DMARs on
that node. The boot cpu still does the allocation for its node during its
boot sequence.
Signed-off-by: Dimitri Sivanich <sivanich@hpe.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/Zfydpp2Hm+as16TY@hpe.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/irq_remapping.h')
-rw-r--r-- | drivers/iommu/irq_remapping.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/irq_remapping.h b/drivers/iommu/irq_remapping.h index 8c89cb947cdb..0d6f140b5e01 100644 --- a/drivers/iommu/irq_remapping.h +++ b/drivers/iommu/irq_remapping.h @@ -41,7 +41,7 @@ struct irq_remap_ops { int (*reenable)(int); /* Enable fault handling */ - int (*enable_faulting)(void); + int (*enable_faulting)(unsigned int); }; extern struct irq_remap_ops intel_irq_remap_ops; |