[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