git: kernel - Localize [in]activevnodes globals, improve allocvnode

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Apr 22 19:31:33 PDT 2018


commit 93e7748838b821fc4d1c5936405f8101acddc640
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Apr 22 12:12:33 2018 -0700

    kernel - Localize [in]activevnodes globals, improve allocvnode
    
    * 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.

Summary of changes:
 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(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/93e7748838b821fc4d1c5936405f8101acddc640


-- 
DragonFly BSD source repository



More information about the Commits mailing list