git: HAMMER - Rework write pipelining
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Wed Aug 19 14:05:35 PDT 2009
    
    
  
commit de996e865902051a4e8e4945e7116be8850f871c
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Aug 19 13:54:29 2009 -0700
    HAMMER - Rework write pipelining
    
    * Rework write pipelining so it is based on pending direct writes on an
      inode-by-inode basis.  ip->rsv_recs and hmp->rsv_recs are now
      decremented after the direct has completed rather then when the sync
      code has processed the record.
    
      This fixes serious buffer cache overloading when doing linear writes.
    
    * Implement write clustering or bawrite() calls based on a filesystem
      block getting filled up instead of relying on the buffer cache's bdwrite()
      to keep ahead of the mark.
    
    * vfs.hammer.cluster_enable now effects both read and write clustering.
Summary of changes:
 sys/vfs/hammer/hammer.h        |    1 +
 sys/vfs/hammer/hammer_io.c     |    8 ++++++--
 sys/vfs/hammer/hammer_object.c |   35 +++++++++++++++++++++++++----------
 sys/vfs/hammer/hammer_vfsops.c |    3 +++
 sys/vfs/hammer/hammer_vnops.c  |   35 ++++++++++++++++++++++++++++++++++-
 5 files changed, 69 insertions(+), 13 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/de996e865902051a4e8e4945e7116be8850f871c
-- 
DragonFly BSD source repository
    
    
More information about the Commits
mailing list