x86: cope with no remap space being allocated for a numa node
When allocating the pgdat's for numa nodes on x86_32 we attempt to place them in the numa remap space for that node. However should the node not have any remap space allocated (such as due to having non-ram pages in the remap location in the node) then we will incorrectly place the pgdat at zero. Check we have remap available, falling back to node 0 memory where we do not. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Acked-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
b9ada4281c
commit
84d6bd0e27
|
@ -156,7 +156,7 @@ static void __init propagate_e820_map_node(int nid)
|
|||
*/
|
||||
static void __init allocate_pgdat(int nid)
|
||||
{
|
||||
if (nid && node_has_online_mem(nid))
|
||||
if (nid && node_has_online_mem(nid) && node_remap_start_vaddr[nid])
|
||||
NODE_DATA(nid) = (pg_data_t *)node_remap_start_vaddr[nid];
|
||||
else {
|
||||
NODE_DATA(nid) = (pg_data_t *)(pfn_to_kaddr(min_low_pfn));
|
||||
|
|
Loading…
Reference in a new issue