Next: Lookup Caching
Up: Asynchronous Writing and Lookup
Previous: Asynchronous Writing and Lookup
The Linux 2.0.x NFS client issues a synchronous remote procedure call
for each write system call. This is inefficient when
performing many small writes in succession. Unfortunately, numerous
small sequential writes is a common situation as many programs (e.g.,
gcc and ld) simplify their output loops by expecting
that the underlying file system will merge write requests through some
kind of buffering. Not merging write requests results in unacceptable
performance and is corrected in versions of the kernel since 2.1.32.
Our implementation benefits from these enhancements while still
providing a stable production platform by integrating the new NFS client
into a stable 2.0.27 kernel. See any recent 2.1.x kernel for details of
the improved asynchronous write behaviour.