Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Michael Riepe
Date: Saturday, May 23, 2009 - 9:12 am

Hi!

David Dillow wrote:


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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, David Dillow, (Fri May 22, 6:29 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Sat May 23, 2:24 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Riepe, (Sat May 23, 7:35 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Sat May 23, 7:44 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Riepe, (Sat May 23, 8:01 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Riepe, (Sat May 23, 9:12 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Sat May 23, 9:40 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Sat May 23, 9:45 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Sat May 23, 9:50 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Riepe, (Sat May 23, 9:53 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, David Dillow, (Sat May 23, 10:03 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Francois Romieu, (Sun May 24, 2:15 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, David Miller, (Mon May 25, 10:55 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Tue May 26, 11:22 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Riepe, (Tue May 26, 3:40 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Buesch, (Wed May 27, 9:19 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Fri Aug 21, 1:57 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michael Riepe, (Fri Aug 21, 2:22 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Fri Aug 21, 5:24 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Sat Aug 22, 4:48 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Sat Aug 22, 5:07 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Jarek Poplawski, (Sun Aug 23, 10:17 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Michal Soltys, (Sun Aug 23, 10:43 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Jarek Poplawski, (Sun Aug 23, 10:54 am)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Sun Aug 23, 7:37 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Mon Aug 24, 5:51 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Tue Aug 25, 1:22 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Tue Aug 25, 2:24 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Tue Aug 25, 2:37 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Francois Romieu, (Tue Aug 25, 3:19 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Francois Romieu, (Tue Aug 25, 4:11 pm)
Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts, Eric W. Biederman, (Tue Aug 25, 8:47 pm)
[PATCH] r8169: Reduce looping in the interrupt handler., Eric W. Biederman, (Wed Aug 26, 12:58 am)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Eric W. Biederman, (Wed Aug 26, 1:02 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Francois Romieu, (Wed Aug 26, 2:30 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Eric W. Biederman, (Wed Aug 26, 2:40 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Francois Romieu, (Wed Aug 26, 10:24 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Eric W. Biederman, (Wed Aug 26, 10:38 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Francois Romieu, (Thu Aug 27, 4:20 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Eric W. Biederman, (Thu Aug 27, 6:17 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Francois Romieu, (Sun Aug 30, 1:37 pm)
Re: [PATCH] r8169: Reduce looping in the interrupt handler., Eric W. Biederman, (Sun Aug 30, 1:53 pm)