From: Michael Riepe <michael.riepe@googlemail.com>
To: David Dillow <dave@thedillows.org>
Cc: "Michael Buesch" <mb@bu3sch.de>,
"Francois Romieu" <romieu@fr.zoreil.com>,
"Rui Santos" <rsantos@grupopie.com>,
"Michael Büker" <m.bueker@berlin.de>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts
Date: Sat, 23 May 2009 18:12:22 +0200 [thread overview]
Message-ID: <4A182066.9030201@googlemail.com> (raw)
In-Reply-To: <1243090308.4217.6.camel@obelisk.thedillows.org>
Hi!
David Dillow wrote:
> I wonder if that is the TCP sawtooth pattern -- run up until we drop
> packets, drop off, repeat. I thought newer congestion algorithms would
> help with that, but I've not kept up, this may be another red-herring --
> like the bisection into genirq.
Actually, I just found out that things are much stranger. A freshly
booted system (I'm using 2.6.29.2 + the r8169 patch sent by Michael
Buesch, by the way) behaves like this:
[ 3] local 192.168.178.206 port 44090 connected with 192.168.178.204
port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 483 MBytes 405 Mbits/sec
[ 3] 10.0-20.0 sec 472 MBytes 396 Mbits/sec
[ 3] 20.0-30.0 sec 482 MBytes 404 Mbits/sec
[ 3] 30.0-40.0 sec 483 MBytes 405 Mbits/sec
[ 3] 40.0-50.0 sec 480 MBytes 402 Mbits/sec
[ 3] 50.0-60.0 sec 479 MBytes 402 Mbits/sec
[ 3] 0.0-60.0 sec 2.81 GBytes 402 Mbits/sec
Then I've been running another test, something along the lines of
for dest in host1 host1 host2 host2
do ssh $dest dd of=/dev/null bs=8k count=10240000 </dev/zero &
done
After a while, I killed the ssh processes and ran iperf again. And this
time, I got:
[ 3] local 192.168.178.206 port 58029 connected with 192.168.178.204
port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 634 MBytes 531 Mbits/sec
[ 3] 10.0-20.0 sec 740 MBytes 621 Mbits/sec
[ 3] 20.0-30.0 sec 641 MBytes 538 Mbits/sec
[ 3] 30.0-40.0 sec 738 MBytes 619 Mbits/sec
[ 3] 40.0-50.0 sec 742 MBytes 622 Mbits/sec
[ 3] 50.0-60.0 sec 743 MBytes 623 Mbits/sec
[ 3] 0.0-60.0 sec 4.14 GBytes 592 Mbits/sec
Obviously, the high-load ssh test (which would kill the device within a
few seconds without the patch) triggers something here.
A few observations later, however, I was convinced that it's not a TCP
congestion or driver issue. Actually, the throughput depends on the CPU
the benchmark is running on. You can see that in gkrellm - whenever the
process jumps to another CPU, the throughput changes. On the four
(virtual) CPUs of the Atom 330, I get these results:
CPU 0: 0.0-60.0 sec 2.65 GBytes 380 Mbits/sec
CPU 1: 0.0-60.0 sec 4.12 GBytes 590 Mbits/sec
CPU 2: 0.0-60.0 sec 3.79 GBytes 543 Mbits/sec
CPU 3: 0.0-60.0 sec 4.13 GBytes 592 Mbits/sec
CPU 0+2 are on the first core, 1+3 on the second.
If I use two connections (iperf -P2) and nail iperf to both threads of a
single core with taskset (the program is multi-threaded, just in case
you wonder), I get this:
CPU 0+2: 0.0-60.0 sec 4.65 GBytes 665 Mbits/sec
CPU 1+3: 0.0-60.0 sec 6.43 GBytes 920 Mbits/sec
That's quite a difference, isn't it?
Now I wonder what CPU 0 is doing...
--
Michael "Tired" Riepe <michael.riepe@googlemail.com>
X-Tired: Each morning I get up I die a little
next prev parent reply other threads:[~2009-05-23 16:12 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200903041828.49972.m.bueker@berlin.de>
[not found] ` <20090322211159.GA23042@electric-eye.fr.zoreil.com>
[not found] ` <49CA1822.6050902@grupopie.com>
[not found] ` <200904041950.04324.mb@bu3sch.de>
[not found] ` <4A06D8D2.4010505@googlemail.com>
2009-05-11 0:29 ` 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too David Dillow
2009-05-11 20:48 ` Michael Buesch
2009-05-11 21:10 ` Michael Buesch
2009-05-11 21:29 ` David Dillow
2009-05-11 21:59 ` Michael Buesch
2009-05-12 20:29 ` Michael Riepe
2009-05-14 2:38 ` David Dillow
2009-05-14 18:37 ` Michael Riepe
2009-05-14 19:14 ` David Dillow
2009-05-14 19:42 ` Michael Riepe
2009-05-23 1:29 ` [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts David Dillow
2009-05-23 9:24 ` Michael Buesch
2009-05-23 14:35 ` Michael Riepe
2009-05-23 14:44 ` Michael Buesch
2009-05-23 15:01 ` Michael Riepe
2009-05-23 16:40 ` Michael Buesch
2009-05-23 14:51 ` David Dillow
2009-05-23 16:12 ` Michael Riepe [this message]
2009-05-23 16:45 ` Michael Buesch
2009-05-23 16:46 ` David Dillow
2009-05-23 16:50 ` Michael Buesch
2009-05-23 16:53 ` Michael Riepe
2009-05-23 17:03 ` David Dillow
2009-05-24 21:15 ` Francois Romieu
2009-05-24 22:55 ` David Dillow
2009-05-26 5:55 ` David Miller
2009-05-26 18:22 ` Michael Buesch
2009-05-26 21:52 ` David Miller
2009-05-26 22:14 ` David Miller
2009-05-26 22:40 ` Michael Riepe
2009-05-26 22:43 ` David Miller
2009-05-26 23:10 ` David Miller
2009-05-27 16:19 ` Michael Buesch
2009-06-16 19:32 ` Rui Santos
2009-08-21 20:57 ` Eric W. Biederman
2009-08-21 21:22 ` Michael Riepe
2009-08-21 22:59 ` David Dillow
2009-08-21 23:34 ` David Dillow
2009-08-22 0:24 ` Eric W. Biederman
2009-08-22 11:48 ` Eric W. Biederman
2009-08-22 12:07 ` Eric W. Biederman
2009-08-22 20:43 ` David Dillow
2009-08-23 17:17 ` Jarek Poplawski
2009-08-23 17:43 ` Michal Soltys
2009-08-23 17:54 ` Jarek Poplawski
2009-08-24 2:37 ` Eric W. Biederman
2009-08-25 0:51 ` Eric W. Biederman
2009-08-25 2:59 ` David Dillow
2009-08-25 20:22 ` Eric W. Biederman
2009-08-25 20:40 ` David Dillow
2009-08-25 21:24 ` Eric W. Biederman
2009-08-25 21:46 ` David Dillow
2009-08-25 22:19 ` Francois Romieu
2009-08-26 3:47 ` Eric W. Biederman
2009-08-26 7:58 ` [PATCH] r8169: Reduce looping in the interrupt handler Eric W. Biederman
2009-08-26 13:56 ` David Dillow
2009-08-26 13:59 ` David Dillow
2009-08-26 20:02 ` Eric W. Biederman
2009-08-26 21:30 ` Francois Romieu
2009-08-26 21:40 ` Eric W. Biederman
2009-08-27 5:24 ` Francois Romieu
2009-08-27 5:38 ` Eric W. Biederman
2009-08-27 23:20 ` Francois Romieu
2009-08-28 1:17 ` Eric W. Biederman
2009-08-28 1:29 ` David Dillow
2009-08-30 20:37 ` Francois Romieu
2009-08-30 20:53 ` Eric W. Biederman
2009-09-01 3:33 ` David Dillow
2009-09-01 9:20 ` Francois Romieu
2009-08-25 21:37 ` [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts Eric W. Biederman
2009-08-25 21:54 ` David Dillow
2009-08-25 23:11 ` Francois Romieu
2009-05-12 11:10 ` 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too Krzysztof Halasa
2009-05-12 21:45 ` Michael Riepe
2009-05-13 6:11 ` Francois Romieu
2009-05-13 6:27 ` Michael Riepe
2009-05-13 19:34 ` Krzysztof Halasa
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=4A182066.9030201@googlemail.com \
--to=michael.riepe@googlemail.com \
--cc=dave@thedillows.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.bueker@berlin.de \
--cc=mb@bu3sch.de \
--cc=netdev@vger.kernel.org \
--cc=romieu@fr.zoreil.com \
--cc=rsantos@grupopie.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).