git: hammer2 - Add KVABIO support for hammer2
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Oct 31 10:50:01 PDT 2017
commit 04b8e839827926484acf1fe15b10ba9401e83885
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Oct 29 10:52:36 2017 -0700
hammer2 - Add KVABIO support for hammer2
* Add KVABIO support for H2. This allows H2 to manipulate the buffer
cache without having to fully synchronize buffer data to all cpus,
saving us a boatload of global IPIs.
* This more than doubles uncached read throughput from NVMe media.
A simple test showed an increase from ~600 MBytes/sec to
~1400 MBytes/sec through the filesystem. The IPI rate was reduced
from 25000 IPIs/cpu/sec to less than 200 IPIs/cpu/sec.
Read throughput was likely improved even further. The NVMe device
used for the test has roughly a ~1500 MB/sec cap.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 1 +
sys/vfs/hammer2/hammer2_chain.c | 19 ++++++++++++++++---
sys/vfs/hammer2/hammer2_cluster.c | 20 +++++++++++++++-----
sys/vfs/hammer2/hammer2_flush.c | 3 ++-
sys/vfs/hammer2/hammer2_inode.c | 8 ++++++++
sys/vfs/hammer2/hammer2_io.c | 30 +++++++++++++++++++++++-------
sys/vfs/hammer2/hammer2_strategy.c | 5 +++++
sys/vfs/hammer2/hammer2_vnops.c | 27 ++++++++++++++++++---------
8 files changed, 88 insertions(+), 25 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/04b8e839827926484acf1fe15b10ba9401e83885
--
DragonFly BSD source repository
More information about the Commits
mailing list