DragonFly commits List (threaded) for 2009-08
git: HAMMER - Rework write pipelining
Author: Matthew Dillon <email@example.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(-)
DragonFly BSD source repository