git: HAMMER VFS - Limit queued I/O during flush

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Aug 15 13:22:40 PDT 2010


commit ba298df11258371e19c97d2843e37e503b9459c3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Aug 15 13:19:00 2010 -0700

    HAMMER VFS - Limit queued I/O during flush
    
    * Add sysctl vfs.hammer.limit_running_io and preset to a reasonable
      value.
    
    * The flusher was queueing all dirty buffers all at once, sometimes leading
      to 80MB+ worth of I/O.  This blew away dm_crypto (caused it to exceed
      its malloc limit), and also results in generally poor kernel memory
      behavior.
    
      Limit the amount of in-flight I/O allowed during a flush to ~10MB or so,
      which should be plenty.

Summary of changes:
 sys/vfs/hammer/hammer.h         |    5 ++++-
 sys/vfs/hammer/hammer_flusher.c |    2 ++
 sys/vfs/hammer/hammer_io.c      |   28 +++++++++++++++++++++++-----
 sys/vfs/hammer/hammer_vfsops.c  |   16 ++++++++++++++++
 4 files changed, 45 insertions(+), 6 deletions(-)

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


-- 
DragonFly BSD source repository





More information about the Commits mailing list