--- a/mm/page_isolation.c~mm-page_isolation-prefer-the-node-of-the-source-page +++ a/mm/page_isolation.c @@ -309,5 +309,7 @@ int test_pages_isolated(unsigned long st struct page *alloc_migrate_target(struct page *page, unsigned long private) { - return new_page_nodemask(page, numa_node_id(), &node_states[N_MEMORY]); + int nid = page_to_nid(page); + + return new_page_nodemask(page, nid, &node_states[N_MEMORY]); }