hammer2 - Add KVABIO support for hammer2
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 29 Oct 2017 17:52:36 +0000 (10:52 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 31 Oct 2017 17:49:48 +0000 (10:49 -0700)
commit04b8e839827926484acf1fe15b10ba9401e83885
tree837fa63634edae80fe6b1e361b347a0caa837e22
parente14ccbbe134cd31d80f733526367b9fe21999ce3
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.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_cluster.c
sys/vfs/hammer2/hammer2_flush.c
sys/vfs/hammer2/hammer2_inode.c
sys/vfs/hammer2/hammer2_io.c
sys/vfs/hammer2/hammer2_strategy.c
sys/vfs/hammer2/hammer2_vnops.c