Subject: Re: low performance on intel fxp driver
To: Rogier Krieger <>
From: Andrew Gillham <>
List: tech-net
Date: 06/10/2001 11:23:49
Rogier Krieger writes:
> First of all, the NetBSD machine is fully stable, also at higher loads.
> For the Win95b machine, surprisingly, the same holds. I'm not satisfied
> where the transfer speeds on the cross-link connection. Whether it's
> with ftp or smb transfers, I only achieve a 3.75Mbyte/s on average. This
> at times drops to 1.9Mbyte/s on very large (say, 675Mb) files. This is
> in fact slower than on the RealTek 8139 cards I had in use previously
> (running at 4.5Mbyte/s). The link speed remains constant at 100TX-FDX.
> No autodetection problems occur on either side.

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.

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.
So on Win95:
	ftp> put big_file /dev/null
	ftp> get big_file nul:

On NetBSD:
	ftp> put big_file nul:
	ftp> get big_file /dev/null

Between two NetBSD machines (one with epic0, one with fxp0) I can ftp
about 9.8 Mbyte/s to /dev/null.  On one I can get to disk at 9.8Mbyte/s
and on the other about 6Mbyte/s (busier machine).

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

> Is there anyone with a clue as to how I can get a more decent transfer
> speed or as to what the problems in my configuration may be (e.g.
> suggested BIOS settings)?. If this is too vague a question, I'm happy to
> supply more information. I'm confident that these cards can do better,
> given their 9.5Mbyte/s performance in the old HP Netservers. Digging
> through the archives, I saw several times the fxp driver was mentioned
> having problems and sub-optimal performance.

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