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?