Skip to content

Commit 4aac0b4

Browse files
Michael Schmitzgeertu
authored andcommitted
m68k/mm: Set all online nodes in N_NORMAL_MEMORY
For m68k, N_NORMAL_MEMORY represents all nodes that have present memory since it does not support HIGHMEM. This patch sets the bit at the time node_present_pages has been set by free_area_init_node. At the time the node is brought online, the node state would have to be done unconditionally since information about present memory has not yet been recorded. If N_NORMAL_MEMORY is not accurate, slub may encounter errors since it uses this nodemask to setup per-cache kmem_cache_node data structures. This pach is an alternative to the one proposed by David Rientjes <[email protected]> attempting to set node state immediately when bringing the node online. Signed-off-by: Michael Schmitz <[email protected]> Tested-by: Thorsten Glaser <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> CC: [email protected]
1 parent 8e10cd7 commit 4aac0b4

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

arch/m68k/mm/motorola.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,8 @@ void __init paging_init(void)
300300
zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT;
301301
free_area_init_node(i, zones_size,
302302
m68k_memory[i].addr >> PAGE_SHIFT, NULL);
303+
if (node_present_pages(i))
304+
node_set_state(i, N_NORMAL_MEMORY);
303305
}
304306
}
305307

0 commit comments

Comments
 (0)