Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2005 14:34:35 -0400
From:      Brian Fundakowski Feldman <green@freebsd.org>
To:        Marc Olzheim <marcolz@stack.nl>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: NFS client/buffer cache deadlock
Message-ID:  <20050427183435.GA39270@green.homeunix.org>
In-Reply-To: <20050427171523.GB5984@stack.nl>
References:  <20050426140701.GB5789@green.homeunix.org> <20050426151751.GB68038@stack.nl> <20050426155043.GC5789@green.homeunix.org> <20050426160609.GA68511@stack.nl> <20050426162549.GD5789@green.homeunix.org> <20050426164346.GA68763@stack.nl> <20050426193602.GE5789@green.homeunix.org> <20050427081746.GA66441@stack.nl> <20050427160857.GF5789@green.homeunix.org> <20050427171523.GB5984@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 27, 2005 at 07:15:23PM +0200, Marc Olzheim wrote:
> On Wed, Apr 27, 2005 at 12:08:57PM -0400, Brian Fundakowski Feldman wrote:
> > > Yes, a single writev(). Just like in the kern/79207 PR.
> > > 
> > > It doesn't have to be superfast (why would I use NFS otherwise), just as
> > > long as it's threadsafe / atomic.
> > 
> > Alright, this will do synchronous, instead of short, writes (also,
> > of course, not deadlock the system) if you are trying to use an
> > excessively large buffer size.
> > 
> > <http://green.homeunix.org/~green/nfs_client.deadlock.patch>;
> > <http://green.homeunix.org/~green/nfs_client.deadlock.HEAD.patch>;
> 
> Great! This seems to do the trick and isn't that slow (about 2.8 MB/sec
> over 100 MBit, writing 600 * 1MB, 4.x gets about 5.5 MB/sec on the same
> system); it's fast enough for me and more importantly, it doesn't lock
> the system down anymore. ;-)
> 
> Thanks a lot!

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.

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



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