On 07/11/2011 01:20 PM, Johannes Weiner wrote:
I CC'd Rik for reclaim-wizardry. But if I am not completly off with
this there is a chance that the change that let the active list grow
unscanned may actually have contributed to this single-page writing
problem becoming worse?
Yes, the patch probably contributed.
However, the patch does help protect the working set in
the page cache from streaming IO, so on balance I believe
we need to keep this change.
What it changes is that the size of the inactive file list
can no longer grow unbounded, keeping it a little smaller
than it could have grown in the past.
Author: Rik van Riel<riel@xxxxxxxxxx>
Date: Tue Jun 16 15:32:28 2009 -0700
vmscan: evict use-once pages first
When the file LRU lists are dominated by streaming IO pages, evict those
pages first, before considering evicting other pages.
This should be safe from deadlocks or performance problems
because only three things can happen to an inactive file page:
1) referenced twice and promoted to the active list
2) evicted by the pageout code
3) under IO, after which it will get evicted or promoted
The pages freed in this way can either be reused for streaming IO, or
allocated for something else. If the pages are used for streaming IO,
this pageout pattern continues. Otherwise, we will fall back to the
normal pageout pattern.
Signed-off-by: Rik van Riel<riel@xxxxxxxxxx>
Cc: KOSAKI Motohiro<kosaki.motohiro@xxxxxxxxxxxxxx>
Cc: Peter Zijlstra<peterz@xxxxxxxxxxxxx>
Cc: Lee Schermerhorn<lee.schermerhorn@xxxxxx>
Acked-by: Johannes Weiner<hannes@xxxxxxxxxxx>
Signed-off-by: Andrew Morton<akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds<torvalds@xxxxxxxxxxxxxxxxxxxx>
All rights reversed