Re: [PATCH 2/2] mm/madvise: skip MADV_PAGEOUT on shared swap cache pages

From: Minchan Kim
Date: Fri Mar 27 2020 - 02:42:57 EST


On Thu, Mar 26, 2020 at 04:00:09PM -0700, Dave Hansen wrote:
> On 3/25/20 11:28 PM, Minchan Kim wrote:
> >> diff -puN mm/madvise.c~madv-pageout-ignore-shared-swap-cache mm/madvise.c
> >> --- a/mm/madvise.c~madv-pageout-ignore-shared-swap-cache 2020-03-23 16:30:52.022385888 -0700
> >> +++ b/mm/madvise.c 2020-03-23 16:41:15.448384333 -0700
> >> @@ -261,6 +261,7 @@ static struct page *pte_get_reclaim_page
> >> {
> >> swp_entry_t entry;
> >> struct page *page;
> >> + int nr_page_references = 0;
> > nit: just 'referenced' would be enough.
>
> I guess I could track one bit like that. But, it would require checking
> both page_mapcount() and page_swapcount() for being >1. This way, I
> just accumulate the count and have a check at a single place.
>
> I think it ends up much simpler this way.

I meant the variable name. 'referenced' would be enough for indication
like rmap.c and khugepaged.c. Anyway, it's up to you.