git: HAMMER - Massively improve performance

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Aug 19 23:38:04 PDT 2009


commit 710733a6b00f0ba91ca86de3ae8d642e7583dac3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Aug 19 23:30:42 2009 -0700

    HAMMER - Massively improve performance
    
    * Now that write pipelining is controlled by ip->rsv_recs and now
      that we have write bursting in the BIOQ subsystem, we do not
      actually want to use bawrite() or cluster_write() because the bio
      could end up waiting for the disk for a long time, and it is locked
      for that entire period.  So go back to using bdwrite().
    
      This seriously improves HAMMER's ability to access files that were
      just written without having to wait for I/O to complete.
    
    * Reclaim (destroy) buffer cache buffers related to UNDO data, except
      for the UNDO block we will be needing again for the next flush.  We
      don't need to keep old undo buffers in the cache!  This improves
      HAMMER's memory footprint.

Summary of changes:
 sys/vfs/hammer/hammer.h         |    3 ++-
 sys/vfs/hammer/hammer_flusher.c |    8 ++++----
 sys/vfs/hammer/hammer_io.c      |   16 +++++++++++++---
 sys/vfs/hammer/hammer_ondisk.c  |    2 +-
 sys/vfs/hammer/hammer_recover.c |    6 +++---
 sys/vfs/hammer/hammer_undo.c    |   18 ++++++++++++++++++
 sys/vfs/hammer/hammer_vnops.c   |   10 +++++++++-
 7 files changed, 50 insertions(+), 13 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/710733a6b00f0ba91ca86de3ae8d642e7583dac3


-- 
DragonFly BSD source repository





More information about the Commits mailing list