Date: Wed, 27 Apr 2005 10:17:46 +0200 From: Marc Olzheim <marcolz@stack.nl> To: Brian Fundakowski Feldman <green@freebsd.org> Cc: freebsd-stable@freebsd.org Subject: Re: NFS client/buffer cache deadlock Message-ID: <20050427081746.GA66441@stack.nl> In-Reply-To: <20050426193602.GE5789@green.homeunix.org> References: <20050420143842.GB77731@stack.nl> <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>
next in thread | previous in thread | raw e-mail | index | archive | help
--cWoXeonUoKmBZSoM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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. > > Btw. running the writev program with 20 * 100 MB on UFS on a 512MB > > FreeBSD 6-CURRENT system practicly locks the filesystem down _and_ > > causes all processes to be swapped out in favor of the buffer cache. > > 'top' however, doesnt' show a rise in BUF usage. > >=20 > > On FreeBSD 4.x, the system performance as usual during the writev to > > UFS. >=20 > That's certainly not very optimal. I don't know anything about it, sorry. No problem. I just thought that they might be related (this is with a single writev() as well). Marc --cWoXeonUoKmBZSoM Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFCb0qqezjnobFOgrERAnLWAKCK3HWeJnRpxurupFy8esgc2ZkC0ACghfC5 4ooDc8zXjRh0CKRsWbVKJ0w= =7Vph -----END PGP SIGNATURE----- --cWoXeonUoKmBZSoM--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050427081746.GA66441>