On Mon, Nov 20, 2023 at 03:47:19AM +0800, Kairui Song wrote: > + /* skip swapcache and readahead */ > + page = swapin_no_readahead(entry, GFP_HIGHUSER_MOVABLE, > + vmf); > + if (page) > + folio = page_folio(page); I think this should rather be: folio = swapin_no_readahead(entry, GFP_HIGHUSER_MOVABLE, vma); page = &folio->page; and have swapin_no_readahead() work entirely in terms of folios.