Re: [PATCH] mm: move swap-in anonymous page into active list

From: Nadav Amit
Date: Fri Jul 29 2016 - 14:09:01 EST


Rik van Riel <riel@xxxxxxxxxx> wrote:

> On Fri, 2016-07-29 at 12:25 +0900, Minchan Kim wrote:
>> Every swap-in anonymous page starts from inactive lru list's head.
>> It should be activated unconditionally when VM decide to reclaim
>> because page table entry for the page always usually has marked
>> accessed bit. Thus, their window size for getting a new referece
>> is 2 * NR_inactive + NR_active while others is NR_active + NR_active.
>>
>> It's not fair that it has more chance to be referenced compared
>> to other newly allocated page which starts from active lru list's
>> head.
>>
>> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>
>
> Acked-by: Rik van Riel <riel@xxxxxxxxxx>
>
> The reason newly read in swap cache pages start on the
> inactive list is that we do some amount of read-around,
> and do not know which pages will get used.
>
> However, immediately activating the ones that DO get
> used, like your patch does, is the right thing to do.

Can it cause the swap clusters to lose spatial locality?

For instance, if a process writes sequentially to memory multiple times,
and if pages are swapped out, in and back out. In such case, doesnât it
increase the probability that the swap cluster will hold irrelevant data and
make swap prefetch less efficient?

Regards,
Nadav