HAMMER - Massively improve performance
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 20 Aug 2009 06:30:42 +0000 (23:30 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 20 Aug 2009 06:30:42 +0000 (23:30 -0700)
commit710733a6b00f0ba91ca86de3ae8d642e7583dac3
tree2d0eee9f6a2d964953aa46af925a07ba11e3a6a9
parent4afeea0db0b1a8e6b5132e06a39111a64ad2487e
HAMMER - Massively improve performance

* Now that write pipelining is controlled by ip->rsv_recs and now
  that we have write bursting in the BIOQ subsystem, we do not
  actually want to use bawrite() or cluster_write() because the bio
  could end up waiting for the disk for a long time, and it is locked
  for that entire period.  So go back to using bdwrite().

  This seriously improves HAMMER's ability to access files that were
  just written without having to wait for I/O to complete.

* Reclaim (destroy) buffer cache buffers related to UNDO data, except
  for the UNDO block we will be needing again for the next flush.  We
  don't need to keep old undo buffers in the cache!  This improves
  HAMMER's memory footprint.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_flusher.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_recover.c
sys/vfs/hammer/hammer_undo.c
sys/vfs/hammer/hammer_vnops.c