From: Eric Dumazet <eric.dumazet@gmail.com>
To: Christoph Lameter <cl@linux-foundation.org>
Cc: netdev@vger.kernel.org
Subject: Re: UDP regression with packets rates < 10k per sec
Date: Tue, 15 Sep 2009 21:02:15 +0200 [thread overview]
Message-ID: <4AAFE4B7.50606@gmail.com> (raw)
In-Reply-To: <alpine.DEB.1.10.0909151550200.3340@V090114053VZO-1>
Christoph Lameter a écrit :
> On Tue, 15 Sep 2009, Eric Dumazet wrote:
>
>> Once I understood my 2.6.31 kernel had much more features than 2.6.22 and that I tuned
>> it to :
>>
>> - Let cpu run at full speed (3GHz instead of 2GHz) : before tuning, 2.6.31 was
>> using "ondemand" governor and my cpus were running at 2GHz, while they where
>> running at 3GHz on my 2.6.22 config
>
> My kernel did not have support for any governors compiled in.
>
>> - Dont let cpus enter C2/C3 wait states (idle=mwait)
>
> Ok. Trying idle=mwait.
>
>> - Correctly affine cpu to ethX irq (2.6.22 was running ethX irq on one cpu, while
>> on 2.6.31, irqs were distributed to all online cpus)
>
> Interrupts of both 2.6.22 and 2.6.31 go to cpu 0. Does it matter for
> loopback?
No of course, loopback triggers softirq on the local cpu, no special setup
to respect.
>
>> Then, your mcast test gives same results, at 10pps, 100pps, 1000pps, 10000pps
>
> loopback via mcast -Ln1 -r <rate>
>
> 10pps 100pps 1000pps 10000pps
> 2.6.22(32bit) 7.36 7.28 7.15 7.16
> 2.6.31(64bit) 9.28 10.27 9.70 9.79
>
> What a difference. Now the initial latency rampup for 2.6.31 is gone. So
> even w/o governors the kernel does something to increase the latencies.
>
> We sacrificed 2 - 3 microseconds per message to kernel features, bloat and
> 64 bitness?
Well, I dont know, I mainly use 32bits kernel, but yes, using 64bits has a cost,
since skbs for example are bigger, sockets are bigger, so we touch more cache lines
per transaction...
You could precisely compute number of cycles per transaction, with "perf" tools
(only on 2.6.31), between 64bit and 32bit kernels, benching 100000 pps for example
and counting number of perf counter irqs per second
next prev parent reply other threads:[~2009-09-15 21:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-08 22:38 UDP regression with packets rates < 10k per sec Christoph Lameter
2009-09-08 22:52 ` Eric Dumazet
2009-09-09 14:01 ` Christoph Lameter
2009-09-09 15:09 ` Eric Dumazet
2009-09-09 16:47 ` Christoph Lameter
2009-09-09 17:06 ` Eric Dumazet
2009-09-09 17:55 ` Christoph Lameter
2009-09-10 20:37 ` Eric Dumazet
2009-09-10 21:36 ` Christoph Lameter
2009-09-10 21:37 ` Eric Dumazet
2009-09-10 21:42 ` Christoph Lameter
2009-09-14 21:10 ` Christoph Lameter
2009-09-15 5:29 ` Eric Dumazet
2009-09-15 14:07 ` Christoph Lameter
2009-09-15 17:26 ` Eric Dumazet
2009-09-15 20:25 ` Christoph Lameter
2009-09-15 19:02 ` Eric Dumazet [this message]
2009-09-25 14:19 ` Eric Dumazet
2009-09-26 16:13 ` Christoph Lameter
2009-09-10 21:39 ` Christoph Lameter
2009-09-09 17:08 ` Eric Dumazet
2009-09-09 17:26 ` Christoph Lameter
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=4AAFE4B7.50606@gmail.com \
--to=eric.dumazet@gmail.com \
--cc=cl@linux-foundation.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 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).