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

From: Rik van Riel
Date: Wed Apr 05 2017 - 18:11:37 EST


On Tue, 2017-04-04 at 18:00 -0400, Johannes Weiner wrote:

> +
> + /*
> + Â* When refaults are being observed, it means a new
> workingset
> + Â* is being established. Disable active list protection to
> get
> + Â* rid of the stale workingset quickly.
> + Â*/

This looks a little aggressive. What is this
expected to do when you have multiple workloads
sharing the same LRU, and one of the workloads
is doing refaults, while the other workload is
continuing to use the same working set as before?

I have been trying to wrap my mind around that for
the past day or so, and figure I should just ask
the question :)

> + if (file && actual_reclaim && lruvec->refaults != refaults)
> {
> + inactive_ratio = 0;
> + } else {
> + gb = (inactive + active) >> (30 - PAGE_SHIFT);
> + if (gb)
> + inactive_ratio = int_sqrt(10 * gb);
> + else
> + inactive_ratio = 1;
> + }

--
All rights reversed

Attachment: signature.asc
Description: This is a digitally signed message part