git: HAMMER VFS - Improve initial B-Tree packing

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Feb 9 00:15:00 PST 2010


commit fa2b9a03ee6eefbf2c87a4d9852f4da3a96a0d50
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Feb 9 00:10:26 2010 -0800

    HAMMER VFS - Improve initial B-Tree packing
    
    * Detect the case where B-Tree leafs are being laid down sequentially,
      such as when creating a large file.  When linear operation is detected
      split leafs 75:25 instead of 50:50.  This greatly improves fill ratios.
    
      It should be noted that the HAMMER flush sorts by inode so directory
      entries will also tend to benefit.
    
    * This only effects (improves) the initial B-Tree layout.  The overnight
      hammer cleanup will refactor the B-Tree to a more optimal state
      regardless.

Summary of changes:
 sys/vfs/hammer/hammer.h       |    1 +
 sys/vfs/hammer/hammer_btree.c |   58 +++++++++++++++++++++++++++++++---------
 sys/vfs/hammer/hammer_inode.c |    7 ++++-
 3 files changed, 52 insertions(+), 14 deletions(-)

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


-- 
DragonFly BSD source repository





More information about the Commits mailing list