Subject: Re: nfsd and process load sharing
To: None <tech-kern@netbsd.org>
From: Guenther Grau <Guenther.Grau@bosch.com>
List: tech-kern
Date: 06/04/1999 14:57:41
Ignatios Souvatzis wrote:
> 
> On Fri, Jun 04, 1999 at 12:50:01PM +0200, Guenther Grau wrote:
> > Frank van der Linden wrote:
> > >
> > > NFS requests are handed to the first available nfsd process. In your case,
> > > it seems that requests are coming in at a low enough rate that most of them
> > > can be handled by the same (the first) nfsd, because it's not busy.
> > >
> > > I could change the code to put free nfsds at the back of the queue so that
> > > nfsds are used round-robin if it makes you feel happy ;-)
> >
> > Huh, I'd prefer not to change this behaviour. Reusing the same
> > nfsd might have some advantages. It will more likely have more pages
> > in memory (, more cache lines valid?). Or is this not true because
> > the code pages are shared and the data segments are small?
> 
> Even for normal programs, code pages are shared.

Well, I know that the code pages are shared. I just don't know
how the code pages are shared, yet :-) I don't know if there
is any additional per process overhead in sharing code pages
involved or if this happens in a lower layer, completly
automagically. 

> nfsd is, however, special: it enters the kernel and never leaves it again;
> the bulk of executed code (and accessed data structures) is in the kernel.

So even the data pages would be in memory all the time,
unless we start making this memory pageable. (I don't know
if this memory would even be pageable, probably not
in some special cases).

But the cache lines might still make a difference, well,
maybe for the data access? :-)

Thanx,

  Guenther