git: HAMMER VFS - Improve saturated write performance (2).
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Jan 11 01:25:53 PST 2011
commit 1afb73cf098b11a9457b91c7e5f165f66efeceb6
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Jan 10 23:17:34 2011 -0800
HAMMER VFS - Improve saturated write performance (2).
* Change the dirty io buffer lists from TAILQs to Red-Black trees.
* The dirty io buffers are sorted by disk address on a flush-group by
flush-group basis and I/O writes are initiated in sorted order.
This significantly improves write I/O throughput to normal HDs.
Essentially what is happening here is that the sheer number of
unsorted buffers are overwhelming the HDs own caches. Having HAMMER
pre-sort the buffers, of which there can be upwards of 100MBs worth,
allow the HD to write more optimally.
Summary of changes:
sys/vfs/hammer/hammer.h | 18 +++++----
sys/vfs/hammer/hammer_flusher.c | 24 ++++++------
sys/vfs/hammer/hammer_io.c | 76 +++++++++++++++++++++++++-------------
sys/vfs/hammer/hammer_ondisk.c | 20 +++++-----
sys/vfs/hammer/hammer_vfsops.c | 10 +++---
5 files changed, 87 insertions(+), 61 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1afb73cf098b11a9457b91c7e5f165f66efeceb6
--
DragonFly BSD source repository
More information about the Commits
mailing list