Subject: Re: vnode locking procedure change to suport stacked fs's.
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: Bill Studenmund <wrstuden@nas.nasa.gov>
List: tech-kern
Date: 06/01/1999 17:37:55
On Tue, 1 Jun 1999, Bill Sommerfeld wrote:

> >  > My thought was to just have getnewvnode() ignore the previous contents of
> >  > v_vnlock (the pointer)  and initialize it to &vp->v_lock (the struct
> >  > lock). 
> > 
> > ...along these lines... is it possible for vnodes which are still
> > referenced to actually be on the free list?  
> 
> If I recall correctly, the name lookup cache contains pointers to them
> but doesn't hold a reference.

Right. There's an explicit cache-purge call in getnewvnode() and in
vclean().

> A generation number scheme is used to notice when vnodes get reused.
> 
> > If not, then I'd like to nuke the free list completely, and
> > pool_put() vnodes when they're no longer used (so that free vnode
> > pool pages can be reclaimed if necessary).
> 
> Hmm.  I would think that this would reduce efficiency somewhat, as
> vnodes couldn't be reclaimed from the freelist..

But we could just grow the pool, couldn't we?

I guess the real decision is based on how likely we'd be able to reclaim
pool pages.

Take care,

Bill