看板 DFBSD_commit 關於我們 聯絡資訊
commit de996e865902051a4e8e4945e7116be8850f871c Author: Matthew Dillon <dillon@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