NFS client/buffer cache deadlock

Brian Fundakowski Feldman green at freebsd.org
Wed Apr 27 12:06:28 PDT 2005


On Wed, Apr 27, 2005 at 08:42:03PM +0200, Marc Olzheim wrote:
> On Wed, Apr 27, 2005 at 02:34:35PM -0400, Brian Fundakowski Feldman wrote:
> > Alright, thanks for helping with this :-) Do you think you can find
> > a way to tell if in 4.x you're actually using NFSv3/transactions?  I
> > would really like to know why 4.x isn't deadlocking, and that's the
> > most plausible explanation I can think of right now.
> > 
> > The behavior could also be totally different due to nfsiod, lack thereof,
> > or its settings.  Are you running nfsiod on 4.x, and if so, how many?
> > On 5.x+ the default maximum of nfsiods is 20.
> 
> The install I ran the speedtest on is:
> 
> FreeBSD baroque.ilse.net 4.10-STABLE FreeBSD 4.10-STABLE #23: Wed Aug  4 15:18:52 CEST 2004     root at tango.ilse.net:/usr/obj/usr/src/sys/BAROQUE i386
> 
> and runs 6 nfsiods.
> 
> How can I tell whether it uses transactions ?

I am not sure -- it should with NFSv3 though.  Does "mount -v" tell
you anything more detailed?  I suppose that nfsstat may also be used
-- the "commit" count should only increase when it does an NFSv3
commit operation.

> The NFS server is mounted with:
> 
> mount_nfs -c -P -a 0 -r 8192 -w 8192 -i -o rw,noatime,nointr host:/path /nfs/host/path

So the only really visible difference is 6 nfsiod versus 20 nfsiod.  I
think if you increased the nfsiod on that 4.x box to something much
higher it would deadlock the same, then, assuming that all else is
equal.

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the freebsd-stable mailing list