NFS client/buffer cache deadlock
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
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