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