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

Matthew Dillon dillon at crater.dragonflybsd.org
Sat Apr 30 17:43:26 PDT 2022


commit ed46a30e64957d323572ac0a31fade69622971ee
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/ed46a30e64957d323572ac0a31fade69622971ee


-- 
DragonFly BSD source repository



More information about the Commits mailing list