tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: high load, no bottleneck



Thor Lancelot Simon <tls%panix.com@localhost> wrote:

> It should be possible to gather those requests and commit many of them
> at once to disk with a single cache flush operation, rather than issuing
> a cache flush for each one.  This is not unlike the problem with nfs3 in
> general, that many clients at once may issue WRITE RPCs followed by COMMIT
> RPCs, and the optimal behavior is to gather the COMMITS, service many at
> a time, then respond to them all -

If I understand correctly, the current situation is that each NFS client
fsync() causes a server WAPBL flush, while other NFS clients fsync() are
waiting. 

The situation is obvious with NFS, but it also probably exists with
local I/O, when VOP_FSYNC cause a WAPBL flush and let others VOP_FSYNC
wait.

Basically, if we have N pending VOP_FSYNC for a given filesystem, all
theses requests will be honoured on first flush, but they are serialized
and will be acknowledged one by one, with the cost of a useless flush
each time. Am I right?

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index