Re: Linux-1.3.88 - Code Freeze

really kuznet@ms2.inr.ac.ru (inr-linux-kernel@ms2.inr.ac.ru)
16 Apr 1996 18:49:23 +0400


Jon Tombs (jon@gte.ESi.US.ES) wrote:
: John E. Davis said:
: >
: >
: > Is the lack of ``write-side NFS caching'' the reason that writing to an NFS
: > mounted disk is slow by about a factor of 2 compared with other versions of
: > Unix? (This is with a 1.3.79 kernel).

: 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