git: VFS accounting: add in-memory storage counters

Francois Tigeot ftigeot at crater.dragonflybsd.org
Sat Dec 10 15:35:45 PST 2011


commit 95bf5f78c7cc3efd179978b5b65d2dcd1506d018
Author: Francois Tigeot <ftigeot at wolfpond.org>
Date:   Sat Aug 13 11:34:39 2011 +0200

    VFS accounting: add in-memory storage counters
    
    * Use a red-black tree of small arrays to store uid and gid accounting
      information.
      User and group ids often come in small groups of consecutive numbers;
      small arrays have a high probability of having more than one element
      used at the same time, reducing pointer chasing in the binary tree.
    
    * Also use a global per mount-point counter
    
    * Only enable data collection for volumes which have been properly
      initialized
    
    * Protect the counters by a per mount-point spinlock

Summary of changes:
 sys/kern/vfs_default.c |   14 ------
 sys/kern/vfs_init.c    |    3 -
 sys/kern/vfs_quota.c   |  114 ++++++++++++++++++++++++++++++++++++++++++++++-
 sys/sys/mount.h        |   35 ++++++++++++++-
 sys/sys/vfs_quota.h    |    7 +--
 5 files changed, 147 insertions(+), 26 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/95bf5f78c7cc3efd179978b5b65d2dcd1506d018


-- 
DragonFly BSD source repository





More information about the Commits mailing list