git: kernel - Change namecache negative caching algorithm

Matthew Dillon dillon at
Fri Mar 1 22:10:09 PST 2013

commit 6363f2683b09cd5c4cd7b92ec1963bb66da04543
Author: Matthew Dillon <dillon at>
Date:   Fri Mar 1 22:02:18 2013 -0800

    kernel - Change namecache negative caching algorithm
    * Use desiredvnodes instead of numcache (current number of namecache
      entries) to scale the number of negative cache entries.
      This allows for more negative cache entries and no longer has
      degenerate situations when the value of numcache is low.
    * namecache entries are still cleaned up in the critical namecache
      paths, but vnlru() now also cleans up the namecache when it exceeds
      80% of its nominal maximum.  The result is that the namecache is
      kept under better control AND the cleanups are generally able to be
      handled by vnlru() and do not effect the critical paths.
    * Huge improvement in poudriere during concurrent python easy_install
      execution.  The python easy_install performs horribly without sufficient
      negative caching.  This fixes that.
    Reported-by: thesjg

Summary of changes:
 sys/kern/vfs_cache.c | 76 ++++++++++++++++++++++++++++++++++++++--------------
 sys/kern/vfs_mount.c |  8 +++++-
 sys/sys/namecache.h  |  2 +-
 3 files changed, 64 insertions(+), 22 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list