cvs commit: src/sys/kern vfs_subr.c

Jeff Roberson jeff at FreeBSD.org
Wed Jul 20 01:43:29 GMT 2005


jeff        2005-07-20 01:43:28 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             vfs_subr.c 
  Log:
   - Allow vnlru to drop giant if the filesystem does not require it.  The
     vnlru proc is extremely inefficient, potentially iteration over tens of
     thousands of vnodes without blocking.  Droping Giant allows other threads
     to preempt us although we should revisit the algorithm to fix the runtime
     problems especially since this may hold up all vnode allocations.
   - Remove the LK_NOWAIT from the VOP_LOCK in vlrureclaim.  This provides
     a natural blocking point to help alleviate the situation described above
     although it may not technically be desirable.
   - yield after we make a pass on all mount points to prevent us from
     blocking other threads which require Giant.
  
  MFC after:      2 weeks
  
  Revision  Changes    Path
  1.636     +11 -2     src/sys/kern/vfs_subr.c


More information about the cvs-src mailing list