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

git: HAMMER VFS - Implement async I/O for double-buffer strategy case


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 10 Apr 2011 09:02:48 -0700 (PDT)

commit 9a98f3cc99cb6d581eee77b15079c1fefd607e8f
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sun Apr 10 08:46:04 2011 -0700

    HAMMER VFS - Implement async I/O for double-buffer strategy case
    
    * When vfs.hammer.double_buffer is enabled the HAMMER strategy code
      was running synchronously.  This creates numerous problems including
      extra stalls when read-ahead is issued.
    
    * Use the new breadcb() function to allow nominal double_buffer strategy
      operations to run asynchronously.  Essentially the original buffer and
      CRC is recorded in the device bio and the copyback is made in the
      callback.
    
    * This improves performance vfs.hammer.double_buffer is enabled.

Summary of changes:
 sys/vfs/hammer/hammer.h        |    2 +
 sys/vfs/hammer/hammer_io.c     |  142 ++++++++++++++++++++++++++++++++++++++++
 sys/vfs/hammer/hammer_ondisk.c |    3 +
 sys/vfs/hammer/hammer_vnops.c  |   45 +++++++++++--
 4 files changed, 186 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9a98f3cc99cb6d581eee77b15079c1fefd607e8f


-- 
DragonFly BSD source repository



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