git: hammer2 - Allow chains to be cached
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Jun 9 16:53:38 PDT 2016
commit a7b81974b16971937249f5bdf7b3e48866ce7895
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Jun 9 16:49:09 2016 -0700
hammer2 - Allow chains to be cached
* Cache chain structures on the refs 1->0 transition. We still drop the
underlying dio and backing data (future optimizations are possible here
within the DIO subsystem but we have to be careful when it comes to
leaving kernel buffer cache buffers locked).
This allows hammer2 to retain a lot of the infrastructure that gets reused
across multiple system calls without having to constantly reconstitute it,
improving performance.
* Fix a few recent chain->flags modifications that weren't atomic. They
have to be atomic.
Summary of changes:
sys/vfs/hammer2/hammer2.h | 13 ++++-
sys/vfs/hammer2/hammer2_chain.c | 105 +++++++++++++++++++++++++++++++++----
sys/vfs/hammer2/hammer2_inode.c | 8 ++-
sys/vfs/hammer2/hammer2_strategy.c | 16 +++++-
sys/vfs/hammer2/hammer2_thread.c | 46 ++++++++++------
sys/vfs/hammer2/hammer2_vfsops.c | 18 ++++++-
6 files changed, 174 insertions(+), 32 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a7b81974b16971937249f5bdf7b3e48866ce7895
--
DragonFly BSD source repository
More information about the Commits
mailing list