linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Clark Williams <williams@redhat.com>
To: "Tobias Knutsson" <tobias.knutsson@gmail.com>
Cc: "Stephen Hemminger" <shemminger@vyatta.com>,
	linux-rt-users@vger.kernel.org
Subject: Re: Network performance forwarding tests on RT
Date: Tue, 11 Nov 2008 08:13:19 -0600	[thread overview]
Message-ID: <20081111081319.6fce5337@redhat.com> (raw)
In-Reply-To: <ccb913ac0811110537u20a05682x9f60bc69b42d943a@mail.gmail.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, 11 Nov 2008 14:37:46 +0100
"Tobias Knutsson" <tobias.knutsson@gmail.com> wrote:

> Ok well that assumption is probably not right. I am quite sure that both the
> soft and hard irqs are assigned priority 50. But you probably should raise
> the priority of the irqs related to your implementation.
> 
> I am writing my master's thesis on real-time Linux and I found that the
> worst-case latency dropped from about 2000us to 250us just by changing some
> priorities of the relevant tasks. This was on an XScale based system running
> at 520Mhz.
>

Yeah, they default to 50 and then most RT distros adjust them from there. We generally push the hard IRQ threads up to 85 and keep the soft irq threads down around 75, on the assumption that actual IRQs need to be serviced immediately, with the hope that the service routine runs quicky and then defers further work to a lower priority entity (tasklet, softirq, workqueue, etc.). 

If we're tuning a system for a particular workload and we're on a multi-core box, we'll push all interrupts and non-workload related threads over to cpu0, then distribute the application and interrupt threads across the remaining cpus. Sometimes overkill in terms of dedicating a 2GHz core to handling network interrupts, but if you're tuning for maximum performance for your app, who cares?

Stephen, it might be interesting for you to change the hard IRQ thread for your NIC(s) to be something higher than 50, with the the soft irq threads for networking (softirq-net-{tx,rx}) to be just under that and see what that does to your test. Maybe 55 for hard irqs and 54 for soft irqs?

Clark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkkZkwUACgkQHyuj/+TTEp0rmgCgup9bbrmP23TKcD0DfhjR5v75
qzoAn1xG75DuZAvOEVoB1DyOLUk6PWVX
=AU+y
-----END PGP SIGNATURE-----

  parent reply	other threads:[~2008-11-11 14:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-05 19:52 Network performance forwarding tests on RT Stephen Hemminger
2008-11-07  0:50 ` Clark Williams
     [not found]   ` <ccb913ac0811062303r7f94f8a8lfe48336d6dafb9f6@mail.gmail.com>
2008-11-07 16:52     ` Stephen Hemminger
     [not found]       ` <ccb913ac0811110537u20a05682x9f60bc69b42d943a@mail.gmail.com>
2008-11-11 14:13         ` Clark Williams [this message]
2008-11-12 21:20           ` Leon Woestenberg
2008-11-07 21:22   ` Sven-Thorsten Dietrich
2008-11-07 21:47     ` unionfs " Stephen Hemminger
2008-11-07 21:48     ` aufs: built it " Stephen Hemminger

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=20081111081319.6fce5337@redhat.com \
    --to=williams@redhat.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    --cc=tobias.knutsson@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;
as well as URLs for NNTP newsgroup(s).