DragonFly BSD
DragonFly commits List (threaded) for 2013-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Remove getnewvnode() bottlenecks


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 22 Feb 2013 10:19:15 -0800 (PST)

commit bd7598aaf2e0bcbd4614fca451ec918904e4e974
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Fri Feb 22 10:16:30 2013 -0800

    kernel - Remove getnewvnode() bottlenecks
    
    * Move the global mntvnodescan_list into the mount structure and remove
      the global mntvnode_token.  Adjust the code to use the per-mount
      mp->mnt_token instead.
    
    * This removes a major token bottleneck in getnewvnode(), particularly
      important when doing concurrent not-yet-cached directory scans or file
      creates under different mount points, and when the vnode cache reaches
      its nominal maximum.
    
    * Also add a missing piece for the last cache_findmount() commit.

Summary of changes:
 sys/kern/vfs_mount.c    | 51 +++++++++++++++++++++++++++++--------------------
 sys/kern/vfs_syscalls.c |  3 +--
 sys/sys/mount.h         |  2 ++
 sys/sys/namecache.h     |  1 +
 4 files changed, 34 insertions(+), 23 deletions(-)

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


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]