Patch "s390/kexec: use node 0 when re-adding crash kernel memory" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
s390/kexec: use node 0 when re-adding crash kernel memory
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
s390-kexec-use-node-0-when-re-adding-crash-kernel-memory.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
9f88eb4df728aebcd2ddd154d99f1d75b428b897Mon Sep 17 00:00:00 2001
From: Heiko Carstens <[email protected]>
Date: Mon, 28 Nov 2016 11:40:27 +0100
Subject: s390/kexec: use node 0 when re-adding crash kernel memory
From: Heiko Carstens <[email protected]>
commit 9f88eb4df728aebcd2ddd154d99f1d75b428b897 upstream.
When re-adding crash kernel memory within setup_resources() the function memblock_add() is used. That function will add memory by default to node "MAX_NUMNODES" instead of node 0, like the memory detection code does. In case of !NUMA this will trigger this warning when the kernel generates the vmemmap:
Usage of MAX_NUMNODES is deprecated. Use NUMA_NO_NODE instead
WARNING: CPU: 0 PID: 0 at mm/memblock.c:1261 memblock_virt_alloc_internal+0x76/0x220 CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-rc6 #16 Call Trace: [<0000000000d0b2e8>] memblock_virt_alloc_try_nid+0x88/0xc8 [<000000000083c8ea>] __earlyonly_bootmem_alloc.constprop.1+0x42/0x50 [<000000000083e7f4>] vmemmap_populate+0x1ac/0x1e0 [<0000000000840136>] sparse_mem_map_populate+0x46/0x68 [<0000000000d0c59c>] sparse_init+0x184/0x238 [<0000000000cf45f6>] paging_init+0xbe/0xf8 [<0000000000cf1d4a>] setup_arch+0xa02/0xae0 [<0000000000ced75a>] start_kernel+0x72/0x450 [<0000000000100020>] _stext+0x20/0x80
If NUMA is selected numa_setup_memory() will fix the node assignments before the vmemmap will be populated; so this warning will only appear if NUMA is not selected.
To fix this simply use memblock_add_node() and re-add crash kernel memory explicitly to node 0.
--- arch/s390/kernel/setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/s390/kernel/setup.c +1 -1
@@ -445,7 +445,7 @@ static void __init setup_resources(void)* part of the System RAM resource. */ if (crashk_res.end) { -memblock_add (crashk_res.start,resource_size (&crashk_res)); +memblock_add_node (crashk_res.start,resource_size (&crashk_res),0 );memblock_reserve (crashk_res.start,resource_size (&crashk_res));insert_resource (&iomem_resource, &crashk_res); }
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/s390-kexec-use-node-0-when-re-adding-crash-kernel-memory.patch