[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
pgple5KkUSnn9.pgp
Description: PGP signature