On 3/8/21 4:10 PM, Yang Shi wrote: >> +static struct page *alloc_demote_page(struct page *page, unsigned long node) >> +{ >> + struct migration_target_control mtc = { >> + /* >> + * Fail the allocation quickly and quietly. When this >> + * happens, 'page; will likely just be discarded instead >> + * of migrated. >> + */ >> + .gfp_mask = GFP_HIGHUSER_MOVABLE | __GFP_NORETRY | __GFP_NOWARN, >> + .nid = node > I recall I pointed out __GFP_THISNODE should be needed to guarantee > the allocation doesn't fallback. But it seems it is not solved yet or > it is guaranteed by the other way? Sorry about missing that before. This mask definitely needs __GFP_THISNODE. I've added it for the next version.