git: kernel - Add vm.read_shortcut_enable
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Sep 15 22:10:40 PDT 2012
commit 68ad14555b583c75f3d3605fd3b5aee7328a8af0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Sep 15 20:52:45 2012 -0700
kernel - Add vm.read_shortcut_enable
* Add vm.read_shortcut_enable (disabled by default for now). Set to 1 to
enable this feature.
This enables a helper function which HAMMER1 now uses to short-cut read()
operations on files. This feature only works on x86-64.
* When enabled this feature allows file read() requests to be satisfied
directly from the VM page cache using lwbuf's, completely bypassing the
buffer cache and also bypassing most of the VFS's VOP_READ code.
The result is an approximate doubling of read() performance in cases
where the buffer cache is too small to fit the hot data set, but the VM
page cache is not.
This feature is able to avoid the buffer cache and thus prevent buffer
cycling within it which, due to the constant installation and
deinstallation of pages in KVM cause a great deal of SMP page table
page invalidations.
Summary of changes:
sys/cpu/x86_64/include/lwbuf.h | 3 +
sys/kern/vfs_helper.c | 122 ++++++++++++++++++++++++++++++++++++++++
sys/kern/vfs_vnops.c | 2 -
sys/sys/mount.h | 1 +
sys/vfs/hammer/hammer_vnops.c | 14 ++++-
5 files changed, 139 insertions(+), 3 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/68ad14555b583c75f3d3605fd3b5aee7328a8af0
--
DragonFly BSD source repository
More information about the Commits
mailing list