X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fmigrate.c;h=939888f9ddab21ecabdc2f732a8ee604cb56da13;hb=9fcfc91bda04259abb9af2fd83bbf48d19da8502;hp=068655d8f883a8d2a79ae3f3247ced23f0b5db76;hpb=5af8c4e0fac9838428bd718040b664043a05f37c;p=karo-tx-linux.git diff --git a/mm/migrate.c b/mm/migrate.c index 068655d8f883..939888f9ddab 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -802,7 +802,7 @@ static struct page *new_page_node(struct page *p, unsigned long private, *result = &pm->status; - return alloc_pages_node(pm->node, + return alloc_pages_exact_node(pm->node, GFP_HIGHUSER_MOVABLE | GFP_THISNODE, 0); } @@ -820,7 +820,6 @@ static int do_move_page_to_node_array(struct mm_struct *mm, struct page_to_node *pp; LIST_HEAD(pagelist); - migrate_prep(); down_read(&mm->mmap_sem); /* @@ -907,6 +906,9 @@ static int do_pages_move(struct mm_struct *mm, struct task_struct *task, pm = (struct page_to_node *)__get_free_page(GFP_KERNEL); if (!pm) goto out; + + migrate_prep(); + /* * Store a chunk of page_to_node array in a page, * but keep the last one as a marker