Re: [PATCH] mm: vmscan: fix IO/refault regression in cache workingset transition

From: Andrew Morton
Date: Tue Apr 04 2017 - 18:07:09 EST


On Tue, 4 Apr 2017 18:00:52 -0400 Johannes Weiner <hannes@xxxxxxxxxxx> wrote:

> Since 59dc76b0d4df ("mm: vmscan: reduce size of inactive file list")
> we noticed bigger IO spikes during changes in cache access patterns.
>
> The patch in question shrunk the inactive list size to leave more room
> for the current workingset in the presence of streaming IO. However,
> workingset transitions that previously happened on the inactive list
> are now pushed out of memory and incur more refaults to complete.
>
> This patch disables active list protection when refaults are being
> observed. This accelerates workingset transitions, and allows more of
> the new set to establish itself from memory, without eating into the
> ability to protect the established workingset during stable periods.
>
> Fixes: 59dc76b0d4df ("mm: vmscan: reduce size of inactive file list")
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx> # 4.7+

That's a pretty large patch and the problem has been there for a year.
I'm not sure that it's 4.11 material, let alone -stable. Care to
explain further?