git: HAMMER VFS - Improve saturated write performance.
dillon at crater.dragonflybsd.org
Tue Jan 11 01:25:54 PST 2011
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Jan 10 18:07:20 2011 -0800
HAMMER VFS - Improve saturated write performance.
* Change vfs.hammer.limit_reclaim to auto-scale to 1/10 the maximum
number of vnodes, instead of using a fixed value of 4000. On a
typical i386 box this will be around ~10000 and on a typical x86-64
box this will be ~50000.
* Greatly reduce the vfs.hammer.autoflush default from 2000 inodes
to 500 inodes.
This results in better locality of reference within the flush groups
and better pipelining when the reclaim limit is approached (when the
vnode cache is saturated).
* Refactor the sequencing of the hammer_flush_group structure, fixing
a number of issues which caused the structures to hold an inconsistent
number of inodes.
* Refactor the flusher's sequence space management.
* Blogbench performance is greatly improved, as is mixed random read/write
I/O in general.
Note, however, that typical production operations do not involve
hundreds of thousands of files and will not be impacted as much.
Summary of changes:
sys/vfs/hammer/hammer.h | 7 +--
sys/vfs/hammer/hammer_flusher.c | 94 ++++++++++++++++++++++++--------
sys/vfs/hammer/hammer_inode.c | 114 +++++++++++++++++++++------------------
sys/vfs/hammer/hammer_vfsops.c | 13 ++++-
4 files changed, 145 insertions(+), 83 deletions(-)
DragonFly BSD source repository
More information about the Commits