mirror of https://gitee.com/openkylin/linux.git
Revert "writeback: introduce writeback_control.more_io to indicate more io"
This reverts commit 2e6883bdf4
, as
requested by Fengguang Wu. It's not quite fully baked yet, and while
there are patches around to fix the problems it caused, they should get
more testing. Says Fengguang: "I'll resend them both for -mm later on,
in a more complete patchset".
See
http://bugzilla.kernel.org/show_bug.cgi?id=9738
for some of this discussion.
Requested-by: Fengguang Wu <wfg@mail.ustc.edu.cn>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
031f2dcd70
commit
c23f72cae9
|
@ -482,8 +482,6 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc)
|
|||
if (wbc->nr_to_write <= 0)
|
||||
break;
|
||||
}
|
||||
if (!list_empty(&sb->s_more_io))
|
||||
wbc->more_io = 1;
|
||||
return; /* Leave any unwritten inodes on s_io */
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,6 @@ struct writeback_control {
|
|||
unsigned for_reclaim:1; /* Invoked from the page allocator */
|
||||
unsigned for_writepages:1; /* This is a writepages() call */
|
||||
unsigned range_cyclic:1; /* range_start is cyclic */
|
||||
unsigned more_io:1; /* more io to be dispatched */
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -558,7 +558,6 @@ static void background_writeout(unsigned long _min_pages)
|
|||
global_page_state(NR_UNSTABLE_NFS) < background_thresh
|
||||
&& min_pages <= 0)
|
||||
break;
|
||||
wbc.more_io = 0;
|
||||
wbc.encountered_congestion = 0;
|
||||
wbc.nr_to_write = MAX_WRITEBACK_PAGES;
|
||||
wbc.pages_skipped = 0;
|
||||
|
@ -566,9 +565,8 @@ static void background_writeout(unsigned long _min_pages)
|
|||
min_pages -= MAX_WRITEBACK_PAGES - wbc.nr_to_write;
|
||||
if (wbc.nr_to_write > 0 || wbc.pages_skipped > 0) {
|
||||
/* Wrote less than expected */
|
||||
if (wbc.encountered_congestion || wbc.more_io)
|
||||
congestion_wait(WRITE, HZ/10);
|
||||
else
|
||||
congestion_wait(WRITE, HZ/10);
|
||||
if (!wbc.encountered_congestion)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -633,12 +631,11 @@ static void wb_kupdate(unsigned long arg)
|
|||
global_page_state(NR_UNSTABLE_NFS) +
|
||||
(inodes_stat.nr_inodes - inodes_stat.nr_unused);
|
||||
while (nr_to_write > 0) {
|
||||
wbc.more_io = 0;
|
||||
wbc.encountered_congestion = 0;
|
||||
wbc.nr_to_write = MAX_WRITEBACK_PAGES;
|
||||
writeback_inodes(&wbc);
|
||||
if (wbc.nr_to_write > 0) {
|
||||
if (wbc.encountered_congestion || wbc.more_io)
|
||||
if (wbc.encountered_congestion)
|
||||
congestion_wait(WRITE, HZ/10);
|
||||
else
|
||||
break; /* All the old data is written */
|
||||
|
|
Loading…
Reference in New Issue