mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04: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 <[email protected]>
Cc: Theodore Ts'o <[email protected]>
Cc: David Howells <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Steve French <[email protected]>
Cc: Chris Mason <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
d19d5476f4
commit
1b430beee5
12 changed files with 11 additions and 52 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue