git: kernel - Improve mountlist_scan() performance, track vfs_getvfs()

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Oct 16 11:30:37 PDT 2017


commit fb578eace6c2fb11150b7e39f0c516c979323d8d
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Oct 12 22:59:02 2017 -0700

    kernel - Improve mountlist_scan() performance, track vfs_getvfs()
    
    * Use a shared token whenever possible, and do not hold the token
      across the callback in the mountlist_scan() call.
    
    * vfs_getvfs() mount_hold()'s the returned mp.  The caller is now
      expected to mount_drop() it when done.  This fixes a very rare
      race.

Summary of changes:
 sys/kern/kern_checkpoint.c   |  5 ++--
 sys/kern/vfs_cache.c         |  5 ++--
 sys/kern/vfs_mount.c         | 71 ++++++++++++++++++++++++++++++++------------
 sys/kern/vfs_syscalls.c      | 25 ++++++++++++++--
 sys/vfs/nfs/nfs_serv.c       |  4 ++-
 sys/vfs/nfs/nfs_subs.c       |  5 +++-
 sys/vfs/nullfs/null_vfsops.c |  3 ++
 sys/vfs/ufs/ffs_vfsops.c     |  8 +++--
 8 files changed, 95 insertions(+), 31 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fb578eace6c2fb11150b7e39f0c516c979323d8d


-- 
DragonFly BSD source repository


More information about the Commits mailing list