: Basically yes, most NFS implementation perform a write behind, that allows
: multiple requests to be merged if they are performed within some timeout.
: Also for this to be effective, you need to use 8k nfs writes. The current
: linux kmalloc/networking swallows a lot of memory (16k per packet), which
: also has a large effect on performance, and isn't pratical with <16MB of ram.
Silly fix to fs/nfs/dir.c......
inode->i_rdev = 0;
#ifndef NO_ANK_FIX
inode->i_blksize = inode->i_sb->u.nfs_sb.s_server.wsize;
#endif
inode->i_blocks = fattr->blocks;
and you will get drastic improvement of NFS write performance.
(for programs that use stdio)
You can set rsize to any value >=4096, and wsize to
8192-NFS_SLACK_SPACE-~512 to avoid 16K kmallocs.
It is funny, but I do not know any program, that is confused
by strange value of blksize (a sort of 6144) 8)8)
Alexey Kuznetsov