cvs commit: src/sys/kern vfs_subr.c

Jeff Roberson jeff at
Thu Mar 24 21:34:40 PST 2005

jeff        2005-03-25 05:34:39 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             vfs_subr.c 
   - Don't recycle vnodes anymore.  Free them once they are dead.  getnewvnode
     now always allocates a new vnode.
   - Define a new function, vnlru_free, which frees vnodes from the free list.
     It takes as a parameter the number of vnodes to free, which is
     wantfreevnodes - freevnodes when called from vnlru_proc or 1 when
     called from getnewvnode().  For now, getnewvnode() still tries to reclaim
     a free vnode before creating a new one when we are near the limit.
   - Define a function, vdestroy, which handles the actual release of memory
     and teardown of locks, etc.  This could become a uma_dtor() routine.
   - Get rid of minvnodes.  Now wantfreevnodes is 1/4th the max vnodes.  This
     keeps more unreferenced vnodes around so that files which have only
     been stat'd are less likely to be kicked out of the system before we
     have a chance to read them, etc.  These vnodes may still be freed via
     the normal vnlru_proc() routines which may some day become a real lru.
  Revision  Changes    Path
  1.599     +116 -121  src/sys/kern/vfs_subr.c

More information about the cvs-src mailing list