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. > > > > On FreeBSD 4.x, the system performance as usual during the writev to > > UFS. > > 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
pgpPPY7FDOsXE.pgp
Description: PGP signature