Re: [PATCH v2 1/3] madvise: Convert madvise_cold_or_pageout_pte_range() to use folios

From: Matthew Wilcox
Date: Wed Dec 07 2022 - 18:10:06 EST


On Wed, Dec 07, 2022 at 03:01:50PM -0800, Vishal Moola (Oracle) wrote:
> @@ -424,28 +425,29 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
> page = vm_normal_page(vma, addr, ptent);
> if (!page || is_zone_device_page(page))
> continue;
> + folio = page_folio(page);

Maybe we should add a vm_normal_folio() first? That way we could get
rid of the 'struct page' in this function entirely.

> @@ -453,13 +455,13 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *pmd,
> }
>
> /*
> - * Do not interfere with other mappings of this page and
> - * non-LRU page.
> + * Do not interfere with other mappings of this folio and
> + * non-LRU folio.
> */
> - if (!PageLRU(page) || page_mapcount(page) != 1)
> + if (!folio_test_lru(folio))

Why has the test for folio_mapcount() disappeared?