x86: fix bootmem cross node for 32bit numa
Impact: fix panic on system 2g x4 sockets Found one system with 4 sockets and every sockets has 2g can not boot with numa32 because boot mem is crossing nodes. So try to have numa version of setup_bootmem_allocator(). Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <49AE485B.8000902@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Esse commit está contido em:
@@ -416,10 +416,11 @@ void __init initmem_init(unsigned long start_pfn,
|
||||
for_each_online_node(nid)
|
||||
propagate_e820_map_node(nid);
|
||||
|
||||
for_each_online_node(nid)
|
||||
for_each_online_node(nid) {
|
||||
memset(NODE_DATA(nid), 0, sizeof(struct pglist_data));
|
||||
NODE_DATA(nid)->bdata = &bootmem_node_data[nid];
|
||||
}
|
||||
|
||||
NODE_DATA(0)->bdata = &bootmem_node_data[0];
|
||||
setup_bootmem_allocator();
|
||||
}
|
||||
|
||||
|
Referência em uma nova issue
Block a user