git: hammer2 - Performance work
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Apr 11 23:29:04 PDT 2019
commit 1159c75c92fbfdd230dd598904ede92791c00843
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Apr 11 23:16:32 2019 -0700
hammer2 - Performance work
* Implement immediate (async) flush follow-through when OS requests
it, with write-clustering support at the device level if enabled.
Write-clustering support at the device level is disabled by default
because H2 already uses a fairly large and efficient 64K block size.
* Change the XOP dispatch for strategy functions. Further partition
strategy functions by read or write to prevent reads from getting
stuck behind long write chains.
Also do not span-out I/O related to a single inode across too many
XOP threads as doing so creates a massive amount of unnecessary
lock contention.
* Significantly improves concurrent filesystem ops and I/O and
significantly improves sequential filesystem write I/O.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 2 ++
sys/vfs/hammer2/hammer2_admin.c | 43 +++++++++++++++++++++++-----
sys/vfs/hammer2/hammer2_io.c | 60 +++++++++++++++++++---------------------
sys/vfs/hammer2/hammer2_vfsops.c | 3 ++
4 files changed, 70 insertions(+), 38 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1159c75c92fbfdd230dd598904ede92791c00843
--
DragonFly BSD source repository
More information about the Commits
mailing list