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>