We've recently seen a number of user bug reports against e1000 that the
in-kernel irqbalance code is detrimental to network latency. The algorithm
keeps swapping irq's for NICs from cpu to cpu causing extremely high network
latency (>1000ms). Another NIC driver (cxgb) already has severe warnings in
their documentation file against using CONFIG_IRQBALANCE, but this is a
general problem for all NIC drivers and other subsystems. This is especially
so with cpufreq scaling where the system is slowed down and the migrations
take much longer.
I suggest that the in-kernel irqbalance is phased out, by marking it OBSOLETE
first and (perhaps) removing the code later. The userspace irqbalance daemon
written by Arjan van de Ven does a wonderful job and should be used instead.
Signed-off-by: Auke Kok <[email protected]>
---
Kconfig | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index daa75ce..5a40cfe 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -690,12 +690,19 @@ config EFI
kernel should continue to boot on existing non-EFI platforms.
config IRQBALANCE
- bool "Enable kernel irq balancing"
+ bool "Enable kernel irq balancing (obsolete)"
depends on SMP && X86_IO_APIC
- default y
+ default n
help
- The default yes will allow the kernel to do irq load balancing.
- Saying no will keep the kernel from doing irq load balancing.
+ The kernel irq balance will migrate interrupts between cpu's
+ constantly, which may help reduce load in some cases. It is not
+ beneficial for latency however, and a user-space daemon is available
+ that does a much better job.
+
+ The default no will keep the kernel from doing irq load balancing.
+ Say yes will allow the kernel to do irq load balancing.
+
+ If unsure, say N.
# turning this on wastes a bunch of space.
# Summit needs it only when NUMA is on
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]