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