Re: [PATCH v2] vmscan: fix increasing nr_isolated incurred by putback unevictable pages

Andrew Morton
2015-08-04T22:09:40Z

On Tue, 04 Aug 2015 19:40:08 +0900 Jaewon Kim <jaewon31.kim@samsung.com> wrote:

> reclaim_clean_pages_from_list() assumes that shrink_page_list() returns
> number of pages removed from the candidate list. But shrink_page_list()
> puts back mlocked pages without passing it to caller and without
> counting as nr_reclaimed. This incurrs increasing nr_isolated.
> To fix this, this patch changes shrink_page_list() to pass unevictable
> pages back to caller. Caller will take care those pages.
>
> ..
>
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -1157,7 +1157,7 @@ cull_mlocked:
> if (PageSwapCache(page))
> try_to_free_swap(page);
> unlock_page(page);
> - putback_lru_page(page);
> + list_add(&page->lru, &ret_pages);
> continue;
>
> activate_locked:

Is this going to cause a whole bunch of mlocked pages to be migrated
whereas in current kernels they stay where they are?