On Mon, Jun 8, 2020 at 3:33 PM Hugh Dickins <hughd@xxxxxxxxxx> wrote: > > ChrisM, could you try with the patch below, and see if it works > for you - I hope it doesn't just give you a blank screen. I can - however... > --- 5.7.0/mm/swap_state.c 2020-05-31 16:49:15.000000000 -0700 > +++ linux/mm/swap_state.c 2020-06-08 14:27:38.211813658 -0700 > @@ -23,6 +23,7 @@ > #include <linux/huge_mm.h> > > #include <asm/pgtable.h> > +#include "internal.h" $ git status On branch test57rc7gcc10001 nothing to commit, working tree clean $ grep pgtable mm/swap_state.c $ I'm missing something. And there's more... > > /* > * swapper_space is a fiction, retained to simplify the path through > @@ -418,7 +419,8 @@ struct page *__read_swap_cache_async(swp > /* May fail (-ENOMEM) if XArray node allocation failed. */ > __SetPageLocked(new_page); > __SetPageSwapBacked(new_page); > - err = add_to_swap_cache(new_page, entry, gfp_mask & GFP_KERNEL); > + err = add_to_swap_cache(new_page, entry, > + gfp_mask & GFP_RECLAIM_MASK); > if (likely(!err)) { > /* Initiate read into locked page */ > SetPageWorkingset(new_page); Neither the line above or below this insertion match what I have. 424 /* 425 * The swap entry is ours to swap in. Prepare the new page. 426 */ 427 428 __SetPageLocked(page); 429 __SetPageSwapBacked(page); 430 431 /* May fail (-ENOMEM) if XArray node allocation failed. */ 432 if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) { 433 put_swap_page(page, entry); 434 goto fail_unlock; 435 } -- Chris Murphy