[GIT PULL] Btrfs changes for 2.6.30-rc

From: Chris Mason
Date: Tue Apr 21 2009 - 16:17:08 EST


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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/