Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Sep 2006 13:33:43 -0400
From:      Christopher Sean Hilton <chris@vindaloo.com>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        Vivek Khera <vivek@khera.org>, freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: NFS: freeze during copy
Message-ID:  <1159551223.1006.42.camel@dagobah.vindaloo.com>
In-Reply-To: <20060927203710.GA54541@xor.obsecurity.org>
References:  <B6D948D84090A54ABCD88AA391DAAC8C049CF550@tiasbel00ex00.be.eu.tiauto.com> <451939DA.3060709@dental-on-line.fr> <D930A855-AEAC-4EC3-AEE5-313858E2DAB2@khera.org> <451A2E87.6000301@dental-on-line.fr> <451A4045.7020000@dental-on-line.fr> <20060927165109.GA52006@xor.obsecurity.org> <7457F6C0-4E6A-47C4-9981-89627B20B94A@khera.org> <20060927203710.GA54541@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2006-09-27 at 16:37 -0400, Kris Kennaway wrote:
> > and my luck has it such that i've not had a lockup since i added that  
> > extra debugging code into the kernel :-) or :-( depending on your  
> > view...
> 
> Heisenbugs are great! :)
> 

Before I classified this as a Heisenbug I'd switch from NFS over UDP to
NFS over TCP. The original poster also hasn't mentioned if he's using
soft, or hard mounts or if he has the intr option on. Depending on how
these options are tuned NFS lockups are normal. 

I used keep /usr/src mounted via NFS and do make buildworld/installworld
on my laptop. The network was a switched lan and there were no
firewalls. Very occasionally the build process would lockup. When I went
to debug this a sage wizard suggested that the first step was to switch
from UDP to TCP. As it turns out the problem was that the ne2000 driver
on my laptop was loosing packets. With udp the means to detect this was
weak to non-existant. Changing to TCP meant that not only could the
kernel detect that a packet had gotten lost but it only had to resend
that one packet, not the entire buffer. From that point on the build
process worked flawlessly in fact I was able to extend the process to
work between a local NFS server and a remote NFS client located 25 miles
away at the other end of an IPsec tunnel.

Bottom line: change to TCP and retest. NFS over UDP is very sensitive to
packet loss. 

-- Chris

-- 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1159551223.1006.42.camel>