HAMMER VFS - Improve initial B-Tree packing
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 9 Feb 2010 08:10:26 +0000 (00:10 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 9 Feb 2010 08:10:26 +0000 (00:10 -0800)
commitfa2b9a03ee6eefbf2c87a4d9852f4da3a96a0d50
treeaa645e93906e352c2ae895b8a5685457de669da5
parent82246426d81a1eeaee3a55a9205060a064c73453
HAMMER VFS - Improve initial B-Tree packing

* Detect the case where B-Tree leafs are being laid down sequentially,
  such as when creating a large file.  When linear operation is detected
  split leafs 75:25 instead of 50:50.  This greatly improves fill ratios.

  It should be noted that the HAMMER flush sorts by inode so directory
  entries will also tend to benefit.

* This only effects (improves) the initial B-Tree layout.  The overnight
  hammer cleanup will refactor the B-Tree to a more optimal state
  regardless.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_btree.c
sys/vfs/hammer/hammer_inode.c