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