call for testers: busdma-ified fxp(4) driver

Fred Clift fclift at verio.net
Wed Apr 2 08:22:06 PST 2003


On Tue, 1 Apr 2003, Maxime Henrion wrote:

> > My fxp(4) patch should now be nearly commit ready.
...
> > someone with an alpha box and a fxp(4) card could test this  patch
>
> Sorry to follow-up to myself, but this patch had some bogus and
> irrelevant diffs in it.  I'm attaching a fixed one now.  It can also be
> found at http://mu.org/~mux/patches/if_fxp.patch.

Well, the patch seems to work just fine - better performance now in fact.

I did a bunch of scp/ftp type stuff of big and a bunch of small files just
to ensure everyting was working and then I used /usr/ports/net/netperf to
try and characterize performance a bit.  After you install the port there
is a script /usr/local/netperf/snapshot_script that tries to give a
reasonable snapshot of network performance under a variety of conditions,
and with a few different parameters...  The target machine was a 400Mhz
pentium II box (sadly, this and the alpha are the two fastest machines I
own...) with '4.7-STABLE FreeBSD 4.7-STABLE #5: Mon Nov 11 12:15:39 MST
2002' (+ a few security patches) with a newer fxp card

fxp0 at pci0:9:0:  class=0x020000 card=0x000c8086 chip=0x12298086 rev=0x08
hdr=0x00

Both of these boxes plugged into an SMC 10/100 switch...  I would have
just used a cross-over cable except I forgot to bring it with me and
didn't feel like making one.

Attached to this email you'll find the output of snapshot_script for the
old driver (about two weeks old cvsup), the output of the modified driver,
and the output of the script run on the integrated dc NIC, just for fun
and comparison.

Some sample results at one particular set of parameters:

before: throughput in 10^6 bits/sec  39.18
after: throughput in 10^6 bits/sec   94.11
(dc):  throughput in 10^6 bits/sec   70.97


Honestly I'm suprised there is so much difference between the before and
after and I'm doubting my testing methodology -- perhaps I had the duplex
set wrong on the alpha on the 'before'?  shrug.  I didn't shut down, or
change at all, the target test box between the two tests. At any rate, the
patch seems to work fine on my alpha on the one card I had time to test
(older, slightly larger formfactor etherexpress pro 100).  If you can wait
till tomorrow, I can probably squeeze in time for testing one or two other
fxp hardware revs I have...

The card I did test on shows up as this:

pciconf -v -l
...
fxp0 at pci1:8:0:  class=0x020000 card=0x00098086 chip=0x12298086 rev=0x04
hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82557/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
...


Fred

--
Fred Clift - fclift at verio.net -- Remember: If brute
force doesn't work, you're just not using enough.
-------------- next part --------------
Netperf snapshot script started at Tue Apr 1 20:38:07 MST 2003
Starting 56x4 TCP_STREAM tests at Tue Apr 1 20:38:42 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 57344 -S 57344 -m 4096

TCP STREAM TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 57344  57344   4096    60.04      39.18   


Starting 32x4 TCP_STREAM tests at Tue Apr 1 20:41:42 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 4096

TCP STREAM TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 32768  32768   4096    60.04      39.24   


Starting 1,1 TCP_RR tests at Tue Apr 1 20:44:42 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 1,1

TCP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

32768  65536  1        1       60.04    1792.97   
32768  57344 


Starting 1,1 UDP_RR tests at Tue Apr 1 20:47:54 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 1,1

UDP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

9216   42080  1        1       60.04    1916.35   
9216   42080 


Starting 512,4 UDP_RR tests at Tue Apr 1 20:51:06 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 516,4

UDP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

9216   42080  516      4       60.04    1514.07   
9216   42080 
Starting 32x4 UDP_STREAM tests at Tue Apr 1 20:54:18 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 4096

UDP UNIDIRECTIONAL SEND TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32768    4096   60.04      127339      0      69.50
 32768           60.04      127339             69.50



Starting 32x1 UDP_STREAM tests at Tue Apr 1 20:57:30 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 1024

UDP UNIDIRECTIONAL SEND TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32768    1024   60.04      270249      0      36.88
 32768           60.04      270249             36.88



Tests completed at Tue Apr 1 21:01:46 MST 2003

If you wish to submit these results to the netperf database at
http://www.cup.hp.com/netperf/NetperfPage.html, please submit each
datapoint individually. Individual datapoints are separated by
lines of dashes.
-------------- next part --------------
Netperf snapshot script started at Tue Apr 1 21:14:21 MST 2003
Starting 56x4 TCP_STREAM tests at Tue Apr 1 21:14:55 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 57344 -S 57344 -m 4096

TCP STREAM TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 57344  57344   4096    60.04      94.11   


Starting 32x4 TCP_STREAM tests at Tue Apr 1 21:17:55 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 4096

TCP STREAM TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 32768  32768   4096    60.04      94.05   


Starting 1,1 TCP_RR tests at Tue Apr 1 21:20:55 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 1,1

TCP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

32768  65536  1        1       60.04    3914.07   
32768  57344 


Starting 1,1 UDP_RR tests at Tue Apr 1 21:25:12 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 1,1

UDP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

9216   42080  1        1       60.04    4426.89   
9216   42080 


Starting 512,4 UDP_RR tests at Tue Apr 1 21:28:24 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 516,4

UDP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

9216   42080  516      4       60.04    3018.84   
9216   42080 
Starting 32x4 UDP_STREAM tests at Tue Apr 1 21:31:36 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 4096

UDP UNIDIRECTIONAL SEND TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32768    4096   60.04      174280 1155609      95.12
 32768           60.04      174280             95.12



Starting 32x1 UDP_STREAM tests at Tue Apr 1 21:34:48 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 1024

UDP UNIDIRECTIONAL SEND TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32768    1024   60.04      676493 1370162      92.31
 32768           60.04      676493             92.31



Tests completed at Tue Apr 1 21:38:00 MST 2003

If you wish to submit these results to the netperf database at
http://www.cup.hp.com/netperf/NetperfPage.html, please submit each
datapoint individually. Individual datapoints are separated by
lines of dashes.
-------------- next part --------------
Netperf snapshot script started at Tue Apr 1 22:15:32 MST 2003
Starting 56x4 TCP_STREAM tests at Tue Apr 1 22:16:06 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 57344 -S 57344 -m 4096

TCP STREAM TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 57344  57344   4096    60.04      70.97   


Starting 32x4 TCP_STREAM tests at Tue Apr 1 22:19:06 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 4096

TCP STREAM TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 32768  32768   4096    60.04      63.73   


Starting 1,1 TCP_RR tests at Tue Apr 1 22:22:06 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t TCP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 1,1

TCP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

32768  65536  1        1       60.04    4048.09   
32768  57344 


Starting 1,1 UDP_RR tests at Tue Apr 1 22:25:18 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 1,1

UDP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

9216   42080  1        1       60.04    4062.43   
9216   42080 


Starting 512,4 UDP_RR tests at Tue Apr 1 22:28:30 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_RR -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -r 516,4

UDP REQUEST/RESPONSE TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   

9216   42080  516      4       60.04    3048.58   
9216   42080 
Starting 32x4 UDP_STREAM tests at Tue Apr 1 22:31:42 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 4096

UDP UNIDIRECTIONAL SEND TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32768    4096   60.04      171500 643616      93.61
 32768           60.04      171500             93.61



Starting 32x1 UDP_STREAM tests at Tue Apr 1 22:34:54 MST 2003

------------------------------------
Testing with the following command line:
/usr/local/netperf/netperf -t UDP_STREAM -l 60 -H 192.168.0.102 -i 10,3 -I 99,5 -- -s 32768 -S 32768 -m 1024

UDP UNIDIRECTIONAL SEND TEST to 192.168.0.102 : +/-2.5% @ 99% conf. : histogram
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

 32768    1024   60.04      668991 416528      91.29
 32768           60.04      668925             91.28



Tests completed at Tue Apr 1 22:38:06 MST 2003

If you wish to submit these results to the netperf database at
http://www.cup.hp.com/netperf/NetperfPage.html, please submit each
datapoint individually. Individual datapoints are separated by
lines of dashes.


More information about the freebsd-alpha mailing list