Messages in this thread | | | Subject | [GIT PULL] Btrfs changes for 2.6.30-rc | From | Chris Mason <> | Date | Tue, 21 Apr 2009 09:29:05 -0400 |
| |
Hello everyone,
The master branch of:
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git
Has some fixes for oopsen and a cluster of bugs inside of one of the btree readahead functions.
I also jumped on the fsync latency train for btrfs and switched over to WRITE_SYNC for the writes I was going to wait on.
This is a bigger change in btrfs because I had to add a high priority list to the async helper threads, but it had a big impact on performance overall. Before, the writes we were waiting on would get stuck behind the less critical writes in the async helper threads, and now they pop out much faster.
Average fsync latencies concurrent with a streaming writer went down from ~5 seconds (with longer peaks) to < 1 second.
Chris Mason (4): Btrfs: use WRITE_SYNC for synchronous writes Btrfs: add a priority queue to the async thread helpers Btrfs: fix oops on page->mapping->host during writepage Btrfs: use the right node in reada_for_balance
fs/btrfs/async-thread.c | 60 ++++++++++++++++++----- fs/btrfs/async-thread.h | 2 fs/btrfs/ctree.c | 17 ++++-- fs/btrfs/disk-io.c | 9 ++- fs/btrfs/extent_io.c | 86 ++++++++++++++++++++++++--------- fs/btrfs/file.c | 2 fs/btrfs/ordered-data.c | 2 fs/btrfs/volumes.c | 124 +++++++++++++++++++++++++++++++++++++----------- fs/btrfs/volumes.h | 13 ++++-
-chris
| |