From: Stijn Eeckhaut <stijn.eeckhaut@intec.ugent.be>
To: Nauman Tahir <nauman.tahir@gmail.com>
Cc: Jesper Juhl <jesper.juhl@gmail.com>,
Martin Bligh <mbligh@mbligh.org>,
Josef Sipek <jsipek@fsl.cs.sunysb.edu>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Although CONFIG_IRQBALANCE is enabled IRQ's don't seem to be balanced very well
Date: Wed, 11 Jan 2006 18:55:05 +0100 [thread overview]
Message-ID: <43C54679.5050706@intec.ugent.be> (raw)
In-Reply-To: <f0309ff0601110614s3007cfb5g11278f9850225a8c@mail.gmail.com>
Nauman Tahir wrote:
> On 1/10/06, Jesper Juhl <jesper.juhl@gmail.com> wrote:
>>On 1/10/06, Martin Bligh <mbligh@mbligh.org> wrote:
>>>Jesper Juhl wrote:
>>>>On 1/10/06, Martin Bligh <mbligh@mbligh.org> wrote:
>>>>>Josef Sipek wrote:
>>>>>>On Tue, Jan 10, 2006 at 12:14:42PM +0100, Jesper Juhl wrote:
>>>>>>
>>>>>>>Do I need any userspace tools in addition to CONFIG_IRQBALANCE?
>>>>>>
>>>>>>Last I checked, yes you do need "irqbalance" (at least that's what
>>>>>>the package is called in debian.
>>>>>
>>>>>Nope - you need the kernel option turned on OR the userspace daemon,
>>>>>not both.
>>>>
>>>>Ok, good to know.
>>>>
>>>>>If you're not generating interrupts at a high enough rate, it won't
>>>>>rotate. That's deliberate.
>
> What I have read is that first CPU is used more for interrupts to use
> the concept of maximizing cache locality. Probably kernel is
> optimizing this even with CONFIG option enabled.
>
>>>>
>>>>Hmm, and what would count as "a high enough rate"?
This is what I tested a few months ago:
Test system: 2 dual Pentium3 systems
- with 2.6.11 kernel and kernel IRQ balancing;
- each with an Intel dual port E1000 NIC (e1000 driver 6.0.54);
- both systems connected back-to-back to each other with 2 links.
Test 1:
- I started 1 UDP flow (< 23 Mbps) on the first link with the Iperf
network performance measurement tool. For a UDP bandwidth lower than 23
Mbps the interrupt rate at the receiver interface was lower than 2000
interrupts per second. In this case all interrupts were distributed to
CPU 0. 2000 interrupts per second seemed to be the threshold for the
interrupts to be distributed to 1 CPU.
Test 2:
- Then I started 1 UDP flow of 600 Mbps on the first link. 8000
interrupts per second were generated by the receiver interface.
Approximately half of the interrupts were distributed to CPU 0, the
other half to CPU 1.
Test 3:
- Then I did a test with 2 UDP flows of 600 Mbps, each over their own
link. 8000 interrupts per second were generated by both receiver
interfaces. All interrupts generated by the 1st interface were
distributed to CPU 0, all interrupts generated by the 2nd interface were
distributed to CPU 1.
>>>>
>>>>I just did a small test with thousands of ping -f's through my NIC
>>>>while at the same time giving the disk a good workout with tons of
>>>>find's, sync's & updatedb's - that sure did drive up the number of
>>>>interrupts and my load average went sky high (amazingly the box was
>>>>still fairly responsive):
>>>>
>>>>root@dragon:/home/juhl# uptime
>>>> 22:59:58 up 12:43, 1 user, load average: 1015.48, 715.93, 429.07
>>>>but, not a single interrupt was handled by CPU1, they all went to CPU0.
>>>>
>>>>Do you have a good way to drive up the nr of interrupts above the
>>>>treshhold for balancing?
>>>
>>>Is it HT? ISTR it was intelligent enough to ignore that. But you'd
>>>have to look at the code to be sure.
>>>
>>
>>Dual Core Athlon 64 X2 4400+
>>
prev parent reply other threads:[~2006-01-11 17:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-10 11:14 Although CONFIG_IRQBALANCE is enabled IRQ's don't seem to be balanced very well Jesper Juhl
2006-01-10 20:31 ` Josef Sipek
2006-01-10 21:28 ` Martin Bligh
2006-01-10 22:10 ` Jesper Juhl
2006-01-10 22:12 ` Martin Bligh
2006-01-10 22:14 ` Jesper Juhl
2006-01-11 14:14 ` Nauman Tahir
2006-01-11 17:55 ` Stijn Eeckhaut [this message]
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=43C54679.5050706@intec.ugent.be \
--to=stijn.eeckhaut@intec.ugent.be \
--cc=jesper.juhl@gmail.com \
--cc=jsipek@fsl.cs.sunysb.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@mbligh.org \
--cc=nauman.tahir@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox