|
@@ -2101,7 +2101,7 @@ int __alloc_bootmem_huge_page(struct hstate *h)
|
|
|
for_each_node_mask_to_alloc(h, nr_nodes, node, &node_states[N_MEMORY]) {
|
|
|
void *addr;
|
|
|
|
|
|
- addr = memblock_virt_alloc_try_nid_nopanic(
|
|
|
+ addr = memblock_virt_alloc_try_nid_raw(
|
|
|
huge_page_size(h), huge_page_size(h),
|
|
|
0, BOOTMEM_ALLOC_ACCESSIBLE, node);
|
|
|
if (addr) {
|
|
@@ -2119,6 +2119,7 @@ int __alloc_bootmem_huge_page(struct hstate *h)
|
|
|
found:
|
|
|
BUG_ON(!IS_ALIGNED(virt_to_phys(m), huge_page_size(h)));
|
|
|
/* Put them into a private list first because mem_map is not up yet */
|
|
|
+ INIT_LIST_HEAD(&m->list);
|
|
|
list_add(&m->list, &huge_boot_pages);
|
|
|
m->hstate = h;
|
|
|
return 1;
|