Subject: Re: NetBSD/Solaris NFS read/write problem
To: None <kent@goathill.org>
From: Eric McWhorter <emcwhorter@xsis.xerox.com>
List: port-i386
Date: 05/13/1999 10:32:10
Kent Polk writes:
[...]
 > Reads and writes from the clinet to the NFS server began to take
 > longer and longer, with typical 20k writes taking in excess of a
 > minute to complete and reads often taking almost as long. [...]

Take a look at the output from netstat -i.  If collisions are high,
then it could be something I run into regularly with Sun and HP
workstations.  I'm sure it can happen on a PC if you have the wrong
hardware, although I've never seen that happen.  When I've run into
this sort of thing, the most common cause is incompatible network
hardware, specifically a network switch that doesn't get along with a
computer's network interface.  Almost every time this has come up,
I've fixed this by turning off auto negotiation on both the switch and
the computer.  In most cases, turning off auto negotiation on the
computer does the trick, however, some network hardware is so flakey
auto negotiation is just plain problematic, so you may have to turn it
off at the switch as well.  Here's the relevant variables added to
/etc/system on one of our solaris servers that has this problem:

# force 100mbps full duplex with hme driver
set hme:hme_adv_autoneg_cap=0
set hme:hme_adv_100fdx_cap=1
set hme:hme_adv_100hdx_cap=0

You'll have to set these variables according to your network.  

I have no experience with auto negotiating network cards on NetBSD/*,
but you'll want to turn off auto negotiation on whichever network
cards show high collision rates (could be both cards), and if that
doesn't fix it turn it off at the hub as well.  If the Sun workstation
is the problem, it will affect all hosts, not just yours.

Have there by chance been any changes to network firmware or hardware?
I've had network firmware upgrades really screw stuff up.

If this doesn't do the trick, I guess I'd try swapping network
hardware around to see if it's some other network problem
(e.g. ethernet card that went Bad).  I had a bad ethernet card cause
this sort of behavior once, also showed up as excesive collisions
(again, from netstat -i).

Good luck!

-- 
Eric McWhorter
Xerox Special Information Systems
emcwhorter@xsis.xerox.com