Subject: Slow NFS/PCI NIC behaviour
To: NetBSD/cobalt <port-cobalt@NetBSD.org>
From: Matt Dainty <matt@bodgit-n-scarper.com>
List: port-cobalt
Date: 05/25/2004 01:45:27
Hi,

After my Qube2 has locked up yet again under NFS traffic, I decided to
try fitting a PCI NIC instead of using the on-board tulip's to see if
that helps stability.

Taking the GENERIC 1.6.1 kernel, I enabled support for both the ex(4)
and sip(4) drivers for a 3c980tx and fa-311tx respectively, two spare
PCI NICs I have, (unsure of which would work okay in the Qube).

However, after trying each NIC in turn instead of the tulip, neither
have anywhere near the same NFS performance. 

I have a standard export from the Qube, mounted on my Linux box with
[rw]size=8192, pretty standard. I can rsync onto that NFS export at
around 1.6MB/s when using the tulip interface, (almost always, going at
this speed will cause a hard lockup at some point).

When trying either of the PCI NICs, the rsync transfers in fits and
starts, at barely 40KB/s on average. Using the sip(4) driver, I get a
stream of "sip0: receive FIFO overrun" messages, which I don't get using
the ex(4) driver, but the performance is identical in both cases.

After some experimentation, if I drop the mount options on the Linux end
to use [rw]size=2048, then the messages dissappear, and performance is
constant, but the transfer rate only gets around 240KB/s.

Anyone have any suggestions to the cause? Is this the Qube PCI slot
causing this bottleneck?

Matt