HAMMER 54B/Many: Performance tuning.
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 12 Jun 2008 00:16:10 +0000 (00:16 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 12 Jun 2008 00:16:10 +0000 (00:16 +0000)
commitd99d6bf5b82b5a1d0f53e04ed58c2854c738ff4c
treee628355859ab7c78e00486d03d2a784ede057a0f
parenta99b9ea2729780861bdde497d539d2f2684bda26
HAMMER 54B/Many: Performance tuning.

* Fix a major performance issue in the UNDO generation code.  The code
  was calling hammer_bread() instead of hammer_bnew() for 'new' undo buffers,
  meaning it was doing a read-modify-write on the disk instead of just a
  write.

  This fix results in a MAJOR improvement in performance across the board.

* Replace the only lockmgr lock in the module with a hammer_lock.

* Tweak hammer_inode_waitreclaims().  This will probably need even more
  tweaking as time passes.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_blockmap.c
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_undo.c
sys/vfs/hammer/hammer_vfsops.c
sys/vfs/hammer/hammer_vnops.c