Re: Update of the r8169 branch
From: Boris B. Zhmurov <hidden>
Date: 2006-09-21 19:52:33
Francois Romieu wrote:
Boris B. Zhmurov [off-list ref] : [...]quoted
Any ideas are welcome.Usually my Pavlov answer is "disable iptables, run latest kernel, renice ksoftirqd like hell, see if it makes a difference and keep netdev Cced".
Of course there is no iptables. And linux-2.6.18 shows even worse
results with iperf + smallsized packets, than 2.6.16.29. Here some
results from linux-2.6.18. Reniceing ksoftirqd to "-19" makes network
performance to ~ 30% worse... From 26Mbit/s to 16-18Mbit/s. My .config
attached.
What we have (legend):
SRV -> Server with FreeBSD-6.1 release and iperf as daemon. This server
receives packets (Intel Pro 1000)
CLIENT1 -> FreeBSD-6.1 release and `iperf -uc 10.1.0.5 -b1073741824 -l
64 -t 300 -i 1` as client (Realtek8169)
CLIENT2 -> Linux-2.6.18 and `iperf -uc 10.1.0.5 -b1073741824 -l 64 -t
300 -i 1` as client (Realtek8169)
Client1 and Client2 has no different with hardware. Both - P4@3Ghz + HT,
1Gb Ram and RTL8169 Gbit NIC.
########################################
Start sending udp packets from CLIENT1 to SRV.
########################################
1) CLIENT1 output:
l9# iperf -uc 10.1.0.5 -b1073741824 -l 64 -t 300 -i 1
------------------------------------------------------------
Client connecting to 10.1.0.5, UDP port 5001
Sending 64 byte datagrams
UDP buffer size: 9.00 KByte (default)
------------------------------------------------------------
[ 3] local 10.1.0.2 port 65121 connected with 10.1.0.5 port 5001
[ 3] 0.0- 1.0 sec 8.97 MBytes 71.7 Mbits/sec
[ 3] 1.0- 2.0 sec 8.97 MBytes 71.7 Mbits/sec
[ 3] 2.0- 3.0 sec 8.98 MBytes 71.9 Mbits/sec
[ 3] 3.0- 4.0 sec 8.98 MBytes 71.9 Mbits/sec
2) SRV's netstat output:
l7# netstat -I em0 -w 1
input (em0) output
packets errs bytes packets errs bytes colls
138928 0 15282034 1 0 218 0
139086 0 15299370 1 0 170 0
138999 0 15289798 1 0 170 0
139004 0 15290394 1 0 170 0
########################################
Start sending udp packets from CLIENT2 to SRV.
########################################
1) CLIENT2 output:
[root@bb-work ~]# iperf -uc 10.1.0.5 -b1073741824 -l 64 -t 300 -i 1
------------------------------------------------------------
Client connecting to 10.1.0.5, UDP port 5001
Sending 64 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.1.0.6 port 32776 connected with 10.1.0.5 port 5001
[ 3] 0.0- 1.0 sec 2.32 MBytes 19.5 Mbits/sec
[ 3] 1.0- 2.0 sec 2.12 MBytes 17.8 Mbits/sec
[ 3] 2.0- 3.0 sec 2.35 MBytes 19.7 Mbits/sec
[ 3] 3.0- 4.0 sec 2.15 MBytes 18.1 Mbits/sec
2) SRV's netstat output:
l7# netstat -I em0 -w 1
input (em0) output
packets errs bytes packets errs bytes colls
38630 0 4248702 1 0 206 0
35849 0 3943298 1 0 170 0
38264 0 4208994 1 0 170 0
36265 0 3989058 1 0 170 0
Is there any chance to get linux worked at least as fast, as freebsd-6.1
with small udp packets?
Any help will be more than welcome!
Please, CC: me, due to I'm not subscribed to netdev@vger.kernel.org.
--
Boris B. Zhmurov
System/Network Administrator
mailto: bb@kernelpanic.ru
"wget http://kernelpanic.ru/bb_public_key.pgp -O - | gpg --import"
Attachments
- config-2.6.18-0.0.bbel4smp [text/plain] 53073 bytes · preview