Subject: Re: Raising NFS parameters for higher bandwith or "long fat pipe"
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 12/05/2003 14:37:02
In message <C6A36295-245A-11D8-A3C9-000A957650EC@wasabisystems.com>,
Jason Thorpe  writes:


[...]

My turn to offer apologies for dropping this: flu, rather than
holidays.


>> sys/nfs/nfs.h NFS_MAXRAHEAD from 4 to 32
>> 	      (32 requests * 32k reads comes to 1 Mbyte), barely
>> 	      enough to fill a 10ms latency at 100 Mbyte/sec.
>
>This seems perfectly OK, too.

Of course, I will need to bump NFS_MAXASYNCDAEMON (and thus the size
of the compile-time array used to track nfsiod kthreads) to match.  I
suggest bumping from 20 to 128 (4x NFS_MAXRAHEAD) as a stop-gap,
before replacing the static array with a list, or some other dynamic
mechanism.



[kthread "process pools" for nfsd/nfsiod...]

More on that in a bit.

but in the medium-term I think we should aim to do away with the
helper process altogether, in favour of an explicit continuation
model.  If one wants to fill a 10Gbit pipe using 32k requests, the
context-switch rate (circa 40,000/sec) starts to get prohibitive.