kernel - Localize [in]activevnodes globals, improve allocvnode

Operating Systems / DragonFlyBSD - Matthew Dillon [apollo.backplane.com] - 23 April 2018 02:31 EDT

- Move to globaldata, keep globals as rollup statistics.

- We already solved normal active->inactive->active issues in prior work, this change primarily effects vnode termination, such as for unlink operations.

- Enhance allocvnode to reuse a convenient reclaimed vnode if we can find one on the pcpu's inactive list and lock it non-blocking. This reduces unnecessary vnode count bloating.

93e7748838 kernel - Localize [in]activevnodes globals, improve allocvnode
sys/kern/vfs_lock.c | 194 ++++++++++++++++++++++++++++++++++++++++++++-------
sys/kern/vfs_mount.c | 16 +++--
sys/sys/globaldata.h | 4 +-
sys/sys/vnode.h | 4 +-
4 files changed, 183 insertions(+), 35 deletions(-)

Upstream: gitweb.dragonflybsd.org


  • Share