aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 559336de9687..bf1dd8819097 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1936,6 +1936,7 @@ static void __init free_area_init_core(struct pglist_data *pgdat,
1936static void __init alloc_node_mem_map(struct pglist_data *pgdat) 1936static void __init alloc_node_mem_map(struct pglist_data *pgdat)
1937{ 1937{
1938 unsigned long size; 1938 unsigned long size;
1939 struct page *map;
1939 1940
1940 /* Skip empty nodes */ 1941 /* Skip empty nodes */
1941 if (!pgdat->node_spanned_pages) 1942 if (!pgdat->node_spanned_pages)
@@ -1944,7 +1945,10 @@ static void __init alloc_node_mem_map(struct pglist_data *pgdat)
1944 /* ia64 gets its own node_mem_map, before this, without bootmem */ 1945 /* ia64 gets its own node_mem_map, before this, without bootmem */
1945 if (!pgdat->node_mem_map) { 1946 if (!pgdat->node_mem_map) {
1946 size = (pgdat->node_spanned_pages + 1) * sizeof(struct page); 1947 size = (pgdat->node_spanned_pages + 1) * sizeof(struct page);
1947 pgdat->node_mem_map = alloc_bootmem_node(pgdat, size); 1948 map = alloc_remap(pgdat->node_id, size);
1949 if (!map)
1950 map = alloc_bootmem_node(pgdat, size);
1951 pgdat->node_mem_map = map;
1948 } 1952 }
1949#ifndef CONFIG_DISCONTIGMEM 1953#ifndef CONFIG_DISCONTIGMEM
1950 /* 1954 /*