Thread (4 messages) flat view 4 messages, 2 authors, 2006-09-22

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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help