[Btrfs-devel] More performance fixes pushed out to btrfs-unstable

Chris Mason chris.mason at oracle.com
Fri Feb 1 12:10:52 PST 2008


Hello everyone,

Unfortunately, this does include a disk format change, but this set of fixes 
brings benchmarks back up to where they were before the back pointers.  There 
are some tweaks for the block allocator that give small benefits, but most of 
the speedup comes from these two changes:

* When allocating extents, insert the extent record and the first backref in a 
single tree insert.  (25% faster on creating 1 million empty files in a 
single dir).

* When inserting back refs for file data extents, hash the offset of the 
extent in the file when creating the key.  For extents with many references, 
this makes a huge difference in CPU time spent creating the back ref.

For the random write phase of tiobench, btrfs v0.11 writes at 2MB/s, using 
100% system cpu time.  The changes I just pushed out change that to writing 
at disk speed.

The bad news is that changing the hashing is a disk format change.  I had 
originally planned on including the file offset in the hash, but missed it 
when finishing off v0.10.  (whoops).

-chris



More information about the Btrfs-devel mailing list