HAMMER VFS - Improve saturated write performance (2).
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 11 Jan 2011 07:17:34 +0000 (23:17 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 11 Jan 2011 07:17:34 +0000 (23:17 -0800)
commit1afb73cf098b11a9457b91c7e5f165f66efeceb6
treeb7e151c0bf802ff8700b83b1d80d317cc5285e88
parent37646115b9cc3d36d9abcb35e920e73d8d52bfa9
HAMMER VFS - Improve saturated write performance (2).

* Change the dirty io buffer lists from TAILQs to Red-Black trees.

* The dirty io buffers are sorted by disk address on a flush-group by
  flush-group basis and I/O writes are initiated in sorted order.

  This significantly improves write I/O throughput to normal HDs.
  Essentially what is happening here is that the sheer number of
  unsorted buffers are overwhelming the HDs own caches.  Having HAMMER
  pre-sort the buffers, of which there can be upwards of 100MBs worth,
  allow the HD to write more optimally.
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_vfsops.c