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