aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-02-04 09:33:00 -0500
committerChris Mason <chris.mason@oracle.com>2009-02-04 09:33:00 -0500
commit9b0d3ace33ef225690a86d7130feadb22367f496 (patch)
treeeae45955a38b4d4c2515549112ec749590b56aa9 /fs
parent7b78c170dc4f538cc7ee66f47b3aac3f3974a36c (diff)
Btrfs: don't return congestion in write_cache_pages as often
On fast devices that go from congested to uncongested very quickly, pdflush is waiting too often in congestion_wait, and the FS is backing off to easily in write_cache_pages. For now, fix this on the btrfs side by only checking congestion after some bios have already gone down. Longer term a real fix is needed for pdflush, but that is a larger project. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/extent_io.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index dd5df53e045a..37d43b516b79 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -2377,11 +2377,6 @@ static int extent_write_cache_pages(struct extent_io_tree *tree,
2377 int scanned = 0; 2377 int scanned = 0;
2378 int range_whole = 0; 2378 int range_whole = 0;
2379 2379
2380 if (wbc->nonblocking && bdi_write_congested(bdi)) {
2381 wbc->encountered_congestion = 1;
2382 return 0;
2383 }
2384
2385 pagevec_init(&pvec, 0); 2380 pagevec_init(&pvec, 0);
2386 if (wbc->range_cyclic) { 2381 if (wbc->range_cyclic) {
2387 index = mapping->writeback_index; /* Start from prev offset */ 2382 index = mapping->writeback_index; /* Start from prev offset */