git: HAMMER - Massively improve performance
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Aug 19 23:38:04 PDT 2009
commit 710733a6b00f0ba91ca86de3ae8d642e7583dac3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Aug 19 23:30:42 2009 -0700
HAMMER - Massively improve performance
* Now that write pipelining is controlled by ip->rsv_recs and now
that we have write bursting in the BIOQ subsystem, we do not
actually want to use bawrite() or cluster_write() because the bio
could end up waiting for the disk for a long time, and it is locked
for that entire period. So go back to using bdwrite().
This seriously improves HAMMER's ability to access files that were
just written without having to wait for I/O to complete.
* Reclaim (destroy) buffer cache buffers related to UNDO data, except
for the UNDO block we will be needing again for the next flush. We
don't need to keep old undo buffers in the cache! This improves
HAMMER's memory footprint.
Summary of changes:
sys/vfs/hammer/hammer.h | 3 ++-
sys/vfs/hammer/hammer_flusher.c | 8 ++++----
sys/vfs/hammer/hammer_io.c | 16 +++++++++++++---
sys/vfs/hammer/hammer_ondisk.c | 2 +-
sys/vfs/hammer/hammer_recover.c | 6 +++---
sys/vfs/hammer/hammer_undo.c | 18 ++++++++++++++++++
sys/vfs/hammer/hammer_vnops.c | 10 +++++++++-
7 files changed, 50 insertions(+), 13 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/710733a6b00f0ba91ca86de3ae8d642e7583dac3
--
DragonFly BSD source repository
More information about the Commits
mailing list