Andrea Righi <andrea.righi@xxxxxxxxxxxxx> writes: > mm/swapfile.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 9fd47e6f7a86..cb9eb517178d 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1944,7 +1944,9 @@ static int unuse_pte_range(struct vm_area_struct *vma, pmd_t *pmd, > vmf.pmd = pmd; > last_ra = atomic_read(&last_readahead_pages); > atomic_set(&swapin_readahead_hits, last_ra); You need to remove the above 2 lines firstly. Best Regards, Huang, Ying > - page = swapin_readahead(entry, GFP_HIGHUSER_MOVABLE, &vmf); > + page = lookup_swap_cache(entry, vma, addr); > + if (!page) > + page = swapin_readahead(entry, GFP_HIGHUSER_MOVABLE, &vmf); > if (!page) { > if (*swap_map == 0 || *swap_map == SWAP_MAP_BAD) > goto try_next; > > Thanks! > -Andrea