From: Auke Kok <auke-jan.h.kok@intel.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>,
"Ronciak, John" <john.ronciak@intel.com>,
Auke Kok <auke-jan.h.kok@intel.com>,
NetDev <netdev@vger.kernel.org>,
Arjan van de Ven <arjan@linux.intel.com>
Subject: [RFC] irqbalance: Mark in-kernel irqbalance as obsolete, set to N by default
Date: Mon, 31 Jul 2006 10:35:26 -0700 [thread overview]
Message-ID: <44CE3F5E.4010305@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 931 bytes --]
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 <auke-jan.h.kok@intel.com>
---
Kconfig | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
---
[-- Attachment #2: mark_CONFIG_IRQBALANCE_as_obsolete.patch --]
[-- Type: text/x-patch, Size: 1013 bytes --]
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
next reply other threads:[~2006-07-31 17:36 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-31 17:35 Auke Kok [this message]
2006-08-04 2:45 ` [RFC] irqbalance: Mark in-kernel irqbalance as obsolete, set to N by default Andrew Morton
2006-08-04 14:25 ` Auke Kok
2006-08-04 14:36 ` Arjan van de Ven
[not found] <6EJUl-4br-13@gated-at.bofh.it>
[not found] ` <6FXVd-1Gl-11@gated-at.bofh.it>
[not found] ` <6G9jL-1Yg-41@gated-at.bofh.it>
2006-08-04 21:48 ` Bodo Eggert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44CE3F5E.4010305@intel.com \
--to=auke-jan.h.kok@intel.com \
--cc=arjan@linux.intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=john.ronciak@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.