DragonFly commits List (threaded) for 2011-01
git: HAMMER VFS - Improve saturated write performance (2).
Author: Matthew Dillon <email@example.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(-)
DragonFly BSD source repository