Messages in this thread | | | Subject | Re: A peek at the future of storage | From | Bernd Petrovitsch <> | Date | Wed, 12 Dec 2007 19:39:25 +0100 |
| |
On Mit, 2007-12-12 at 10:02 -0800, Daniel Phillips wrote: > On Wednesday 12 December 2007 09:46, J. Bruce Fields wrote: [...] > > People have proposed writing a daemon that just reads > > /proc/net/rpc/nfsd periodically and uses that to adjust the number of > > threads from userspace, probably subject to some limits in a config > > file someplace. (Think that could do the job, or is there some reason [...] > So how would a userspace daemon know that kernel is blocking and new > threads are needed? In kernel this is pretty easy: when a new request > arrives, look on the thread list and if none are available, generate a > new one. Something special needs to be done to handle the case where > there are no threads available because they are all piled up on a > semaphore due to, for example, somebody unplugging the network cable > for a remote disk. We have to avoid generating infinite threads in > that case. Ideas?
Add a sysctl configurable maximum number of NFS threads and default it to 8 (or whatever now the default value is). And one wants probably some logic to kill them again if they are not used long enough. And then you need/want another variable for the minimum number of NFS threads around.
Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services
| |