Subject: Re: low performance on intel fxp driver
To: Andrew Gillham <gillham@vaultron.com>
From: Rogier Krieger <rogier@virgiel.nl>
List: netbsd-users
Date: 06/10/2001 22:49:37
Andrew,

thanks for your quick reply. Sunday is a great day for testing, so here goes.

Previous Correspondence from Andrew Gillham (11:23 10-6-01 -0700):
>Can you locate 'netio' (version 1.14) and test with it between the two
>machines?  It tests a TCP connection with various "block" sizes so it is
>perhaps simpler to test with than ttcp.

The pkgsrc/benchmark directory was most helpful in locating netio.
I ran a test right away. It did give rather promising results.

Here's the output of Win95b client -> NetBSD server
	Packet size  1 KByte:   9632 KByte/s
	Packet size  2 KByte:   10894 KByte/s
	Packet size  4 KByte:   11089 KByte/s
	Packet size  8 KByte:   10963 KByte/s
	Packet size 16 KByte:   248 KByte/s
	Packet size 32 KByte:   401 KByte/s

The last two lines, even after prolonged testing, remain fairly constant.
Rather worrying low speeds, or am is it just me. I think not.

Here's the output of NetBSD client -> Win95b server
	TCP/IP connection established.
	Packet size  1 KByte:   10199 KByte/s
	Packet size  2 KByte:   10455 KByte/s
	Packet size  4 KByte:   10923 KByte/s
	Packet size  8 KByte:   10756 KByte/s
	Packet size 16 KByte:   10918 KByte/s
	Packet size 32 KByte: send(): Inappropriate ioctl for device 9686 KByte/s

For the last line, I the message buffer for the error. Here's the dmesg entry
	WARNING: mclpool limit reached; increase NMBCLUSTERS

Nothing that can't be fixed, I suppose. Would it be an explanation for
the low speeds I experienced earlier? I must point out, that this is the
first time I saw the NMBClusters warning message.


>Try to ftp your file to /dev/null or "nul:" to eliminate disk i/o as the
>issue.  Obviously it was working with the rtk cards, but perhaps there
>is an interaction between fxp and disk i/o, or your filesystems are more
>fragmented on either end, etc.

Here I get back to a maximum of only 4000KByte/s for downloading
from the NetBSD server and a rather low maximum of 2900KByte/s
for an upload to the NetBSD server. The latter could of course be
the result of fragmentation, although Windows tells me I suffer from
only 0%-2% fragmentation on any drive I tested.

>With netio I see about 11Mbyte/s between them.

This makes me wonder whether I can adjust the packet size to the
8Kbyte/s where speeds seem to run around their optimum. Or is
this a dumb question?

>Jason Thorpe has worked on the fxp driver in -current, you might test boot
>a -current kernel and see how that works.

Will that also require a re-install or can I use the syssrc collection for
-current
to bake a kernel that can peacefully co-exist with my present one? The NetBSD
machine has the prime tasks of running my ftp/web/ssh/samba servers and
to provide my presumed insecure windows machine NAT'ed access to the net.

Any insight appreciated,

Rogier Krieger