Re: [PATCH 03/27] xfs: use write_cache_pages for writeback clustering

Rik van Riel
2011-07-11T19:09:45Z

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.

> commit 56e49d218890f49b0057710a4b6fef31f5ffbfec
> Author: Rik van Riel<riel@redhat.com>
> 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@redhat.com>
> Reported-by: Elladan<elladan@eskimo.com>
> Cc: KOSAKI Motohiro<kosaki.motohiro@jp.fujitsu.com>
> Cc: Peter Zijlstra<peterz@infradead.org>
> Cc: Lee Schermerhorn<lee.schermerhorn@hp.com>
> Acked-by: Johannes Weiner<hannes@cmpxchg.org>
> Signed-off-by: Andrew Morton<akpm@linux-foundation.org>
> Signed-off-by: Linus Torvalds<torvalds@linux-foundation.org>

--
All rights reversed