NFS client/buffer cache deadlock

Marc Olzheim marcolz at stack.nl
Tue Apr 26 09:43:48 PDT 2005


[changed cc: from standards@ back to stable@ again.]

On Tue, Apr 26, 2005 at 12:25:49PM -0400, Brian Fundakowski Feldman wrote:
> You can assure that this happens in only two ways:
> 
> 1. Make a complete copy of the data.  This is what currently occurs:
>    it gets stuffed into the buffer cache as the write happens.
> 2. Keep the data around synchronously -- by virtue of the write system
>    call being used synchronously, the thread's VM context is around,
>    and duplication need not occur.

It seems as though FreeBSD 4.x either used 2) or does something wrong
indeed. Why would 2) be a problem on FreeBSD 5.x ? Can't the pages
written from be locked during the write, instead of copied internally ?

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.

On FreeBSD 4.x, the system performance as usual during the writev to
UFS.

Marc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050426/c8e1f20c/attachment.bin


More information about the freebsd-stable mailing list