Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2005 12:08:57 -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:  <20050427160857.GF5789@green.homeunix.org>
In-Reply-To: <20050427081746.GA66441@stack.nl>
References:  <16998.36437.809896.936800@khavrinen.csail.mit.edu> <20050420173859.GA99695@stack.nl> <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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 27, 2005 at 10:17:46AM +0200, Marc Olzheim wrote:
> On Tue, Apr 26, 2005 at 03:36:02PM -0400, Brian Fundakowski Feldman wrote:
> > I'm still guessing that for whatever reason your writes on the FreeBSD
> > 4.x NFS client are not using NFSv3/transactions.  The second method
> > I just now implemented; it works fine except for being slower since
> > all data is acknowledged synchronously.  Are you using one writev()
> > instead of many writes so you can atomically write a large sparse data
> > structure?  If so, you will probably just have to cope with the lower
> > performance than for reasonably-sized writes.  If not: why are you
> > trying to write it atomically?  Just use multiple normal-sized write()
> > calls.
> 
> 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>;

-- 
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?20050427160857.GF5789>