git: tmpfs - remove most mp->mnt_token cases, kqueue filterops are MPSAFE

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Oct 23 00:34:34 PDT 2013


commit ff837cd5d97df9cfc8d66fc9ebc73557657d023e
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Oct 23 00:32:16 2013 -0700

    tmpfs - remove most mp->mnt_token cases, kqueue filterops are MPSAFE
    
    * tmpfs's kqueue filterops are MPSAFE, set appropriate flag.
    
    * tmpfs's vnops frontend universally obtained the tmpfs mnt_token, but
      most of tmpfs's underlying code was already sub-locked by node.
    
      Remove most mnt_token use cases and make the portions that were not
      safe, safe.  This was primarily the directory lookup and scanning
      code and code to create, delete, and rename files.
    
    * Should greatly improve tmpfs concurrency.

Summary of changes:
 sys/vfs/tmpfs/tmpfs.h        |   3 +-
 sys/vfs/tmpfs/tmpfs_subr.c   |  49 ++++-----
 sys/vfs/tmpfs/tmpfs_vfsops.c |  16 ++-
 sys/vfs/tmpfs/tmpfs_vnops.c  | 232 ++++++++++++++++++-------------------------
 4 files changed, 131 insertions(+), 169 deletions(-)

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


-- 
DragonFly BSD source repository


More information about the Commits mailing list