We've run into situations where a CPU runs out of interrupt
vectors, because all the interrupts are getting the default
affinity (and the interrupt balancer hasn't yet run).
The following emits a netlink message whenever an interrupt
is given a default CPU affinity. A user-level IRQ balancer
can use those messages to decide if, and how to reassign
affinities. This should allow us to avoid running out of
vectors on any particular CPU (or at least make it far less
likely).
I know this needs work, but would like to get comments on
the idea before doing more coding and testing.
Signed-off-by: Arthur Kepner<akepner@xxxxxxx>
---
diff --git a/arch/Kconfig b/arch/Kconfig
index 4877a8c..65c79c7 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -158,4 +158,15 @@ config HAVE_PERF_EVENTS_NMI
subsystem. Also has support for calculating CPU cycle events
to determine how many clock cycles in a given period.
+config NOTIFY_USER_IRQ_BALANCER
+ bool "Notify user-level IRQ balancer (EXPERIMENTAL)"
+ default n
+ depends on NET&& X86