aboutsummaryrefslogtreecommitdiffstats
path: root/mm/sparse-vmemmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/sparse-vmemmap.c')
-rw-r--r--mm/sparse-vmemmap.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
index 1b7e22ab9b09..22b7e18e9dea 100644
--- a/mm/sparse-vmemmap.c
+++ b/mm/sparse-vmemmap.c
@@ -53,10 +53,12 @@ void * __meminit vmemmap_alloc_block(unsigned long size, int node)
53 struct page *page; 53 struct page *page;
54 54
55 if (node_state(node, N_HIGH_MEMORY)) 55 if (node_state(node, N_HIGH_MEMORY))
56 page = alloc_pages_node(node, 56 page = alloc_pages_node(
57 GFP_KERNEL | __GFP_ZERO, get_order(size)); 57 node, GFP_KERNEL | __GFP_ZERO | __GFP_REPEAT,
58 get_order(size));
58 else 59 else
59 page = alloc_pages(GFP_KERNEL | __GFP_ZERO, 60 page = alloc_pages(
61 GFP_KERNEL | __GFP_ZERO | __GFP_REPEAT,
60 get_order(size)); 62 get_order(size));
61 if (page) 63 if (page)
62 return page_address(page); 64 return page_address(page);