You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
writeback: remove nonblocking/encountered_congestion references
This removes more dead code that was somehow missed by commit 0d99519efe
(writeback: remove unused nonblocking and congestion checks). There are
no behavior change except for the removal of two entries from one of the
ext4 tracing interface.
The nonblocking checks in ->writepages are no longer used because the
flusher now prefer to block on get_request_wait() than to skip inodes on
IO congestion. The latter will lead to more seeky IO.
The nonblocking checks in ->writepage are no longer used because it's
redundant with the WB_SYNC_NONE check.
We no long set ->nonblocking in VM page out and page migration, because
a) it's effectively redundant with WB_SYNC_NONE in current code
b) it's old semantic of "Don't get stuck on request queues" is mis-behavior:
that would skip some dirty inodes on congestion and page out others, which
is unfair in terms of LRU age.
Inspired by Christoph Hellwig. Thanks!
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: David Howells <dhowells@redhat.com>
Cc: Sage Weil <sage@newdream.net>
Cc: Steve French <sfrench@samba.org>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
d19d5476f4
commit
1b430beee5
+1
-18
@@ -438,7 +438,6 @@ no_more:
|
||||
*/
|
||||
int afs_writepage(struct page *page, struct writeback_control *wbc)
|
||||
{
|
||||
struct backing_dev_info *bdi = page->mapping->backing_dev_info;
|
||||
struct afs_writeback *wb;
|
||||
int ret;
|
||||
|
||||
@@ -455,8 +454,6 @@ int afs_writepage(struct page *page, struct writeback_control *wbc)
|
||||
}
|
||||
|
||||
wbc->nr_to_write -= ret;
|
||||
if (wbc->nonblocking && bdi_write_congested(bdi))
|
||||
wbc->encountered_congestion = 1;
|
||||
|
||||
_leave(" = 0");
|
||||
return 0;
|
||||
@@ -469,7 +466,6 @@ static int afs_writepages_region(struct address_space *mapping,
|
||||
struct writeback_control *wbc,
|
||||
pgoff_t index, pgoff_t end, pgoff_t *_next)
|
||||
{
|
||||
struct backing_dev_info *bdi = mapping->backing_dev_info;
|
||||
struct afs_writeback *wb;
|
||||
struct page *page;
|
||||
int ret, n;
|
||||
@@ -529,11 +525,6 @@ static int afs_writepages_region(struct address_space *mapping,
|
||||
|
||||
wbc->nr_to_write -= ret;
|
||||
|
||||
if (wbc->nonblocking && bdi_write_congested(bdi)) {
|
||||
wbc->encountered_congestion = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
cond_resched();
|
||||
} while (index < end && wbc->nr_to_write > 0);
|
||||
|
||||
@@ -548,24 +539,16 @@ static int afs_writepages_region(struct address_space *mapping,
|
||||
int afs_writepages(struct address_space *mapping,
|
||||
struct writeback_control *wbc)
|
||||
{
|
||||
struct backing_dev_info *bdi = mapping->backing_dev_info;
|
||||
pgoff_t start, end, next;
|
||||
int ret;
|
||||
|
||||
_enter("");
|
||||
|
||||
if (wbc->nonblocking && bdi_write_congested(bdi)) {
|
||||
wbc->encountered_congestion = 1;
|
||||
_leave(" = 0 [congest]");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (wbc->range_cyclic) {
|
||||
start = mapping->writeback_index;
|
||||
end = -1;
|
||||
ret = afs_writepages_region(mapping, wbc, start, end, &next);
|
||||
if (start > 0 && wbc->nr_to_write > 0 && ret == 0 &&
|
||||
!(wbc->nonblocking && wbc->encountered_congestion))
|
||||
if (start > 0 && wbc->nr_to_write > 0 && ret == 0)
|
||||
ret = afs_writepages_region(mapping, wbc, 0, start,
|
||||
&next);
|
||||
mapping->writeback_index = next;
|
||||
|
||||
Reference in New Issue
Block a user