2.6.35-longterm review patch. If anyone has any objections, please let me know.
------------------ From: Michael Schmitz <[email protected]> commit 4aac0b4815ba592052758f4b468f253d383dc9d6 upstream. 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]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Andi Kleen <[email protected]> --- arch/m68k/mm/motorola.c | 2 ++ 1 file changed, 2 insertions(+) Index: linux-2.6.35.y/arch/m68k/mm/motorola.c =================================================================== --- linux-2.6.35.y.orig/arch/m68k/mm/motorola.c +++ linux-2.6.35.y/arch/m68k/mm/motorola.c @@ -300,6 +300,8 @@ void __init paging_init(void) zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT; free_area_init_node(i, zones_size, m68k_memory[i].addr >> PAGE_SHIFT, NULL); + if (node_present_pages(i)) + node_set_state(i, N_NORMAL_MEMORY); } } _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
