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