git: kernel - Temporary work-around for vnode recyclement problems

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Apr 30 11:34:04 PDT 2022


commit 83fe95c9cf271e44613cd1c88bc48397c8be7513
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Apr 28 22:19:28 2022 -0700

    kernel - Temporary work-around for vnode recyclement problems
    
    * vnlru deadlocks were encountered on grok while indexing ~20 million
      files in deep directory trees.
    
    * Add vfscache_unres accounting to keep track of unresolved ncp's
      at the leaves of the namecache tree.  Start trimming the namecache
      when the unres leaf count exceeds 1/16 maxvnodes, in addition to
      the other algorithms.
    
    * Add code in vnlru to decomission vnodes with children in the namecache
      when those children are trivial (e.g. unresolved, dead, or negative
      entries that can be easily locked).

Summary of changes:
 sys/kern/vfs_cache.c | 167 +++++++++++++++++++++++++++++++++++++++++++--------
 sys/kern/vfs_mount.c |   6 ++
 2 files changed, 149 insertions(+), 24 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/83fe95c9cf271e44613cd1c88bc48397c8be7513


-- 
DragonFly BSD source repository


More information about the Commits mailing list