diff options
author | Chris Mason <chris.mason@oracle.com> | 2009-02-04 09:33:00 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2009-02-04 09:33:00 -0500 |
commit | 9b0d3ace33ef225690a86d7130feadb22367f496 (patch) | |
tree | eae45955a38b4d4c2515549112ec749590b56aa9 /fs/btrfs/extent_io.c | |
parent | 7b78c170dc4f538cc7ee66f47b3aac3f3974a36c (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/btrfs/extent_io.c')
-rw-r--r-- | fs/btrfs/extent_io.c | 5 |
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 */ |