FreeBSD/src dc6a828 (r322588)sys/amd64/include intr_machdep.h, sys/i386/include intr_machdep.h

x86: Add dynamic interrupt rebalancing

Add an option to dynamically rebalance interrupts across cores
(hw.intrbalance); off by default.

The goal is to minimize preemption. By placing interrupt sources on distinct
CPUs, ithreads get preferentially scheduled on distinct CPUs.  Overall
preemption is reduced and latency is reduced. In our workflow it reduced
"fighting" between two high-frequency interrupt sources.  Reduced latency
was proven by, e.g., SPEC2008.

Submitted by:   jeff@ (earlier version)
Reviewed by:    kib@
Sponsored by:   Dell EMC Isilon
Differential Revision:  https://reviews.freebsd.org/D10435
DeltaFile
+139-7sys/x86/x86/intr_machdep.c
+1-0sys/amd64/include/intr_machdep.h
+1-0sys/i386/include/intr_machdep.h
+141-73 files

UnifiedSplitRaw