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