From: Chris Snook <csnook@redhat.com>
To: Venkat Subbiah <venkats@cranite.com>
Cc: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>,
linux-kernel@vger.kernel.org
Subject: Re: irq load balancing
Date: Thu, 13 Sep 2007 17:30:39 -0400 [thread overview]
Message-ID: <46E9ABFF.7080200@redhat.com> (raw)
In-Reply-To: <3641F7C576757E49AE23AD0D820D72C434DCB8@mailnode1.cranite.com>
Venkat Subbiah wrote:
> Since most network devices have a single status register for both
> receiver and transmit (and errors and the like), which needs a lock to
> protect access, you will likely end up with serious thrashing of moving
> the lock between cpus.
>> Any ways to measure the trashing of locks?
>
> Since most network devices have a single status register for both
> receiver and transmit (and errors and the like)
>> These register accesses will be mostly within the irq handler which I
> plan on keeping on the same processor. The network driver is actually
> tg3. Will looks closely into the driver.
Why are you trying to do this, anyway? This is a classic example of fairness
hurting both performance and efficiency. Unbalanced distribution of a single
IRQ gives superior performance. There are cases when this is a worthwhile
tradeoff, but the network stack is not one of them. In the HPC world, people
generally want to squeeze maximum performance out of CPU/cache/RAM so they just
accept the imbalance because it performs better than balancing it, and
irqbalance can keep things fair over longer intervals if that's important. In
the realtime world, people generally bind everything they can to one or two
CPUs, and bind their realtime applications to the remaining ones to minimize
contention.
Distributing your network interrupts in a round-robin fashion will make your
computer do exactly one thing faster: heat up the room.
-- Chris
prev parent reply other threads:[~2007-09-13 21:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-11 23:18 irq load balancing Venkat Subbiah
2007-09-12 11:51 ` Stephen Hemminger
2007-09-12 11:55 ` kalash nainwal
2007-09-12 14:47 ` Arjan van de Ven
2007-09-12 21:44 ` Chris Snook
2007-09-13 20:31 ` Venkat Subbiah
2007-09-13 20:44 ` Lennart Sorensen
2007-09-13 21:02 ` Venkat Subbiah
2007-09-13 21:30 ` Chris Snook [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=46E9ABFF.7080200@redhat.com \
--to=csnook@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lsorense@csclub.uwaterloo.ca \
--cc=venkats@cranite.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