diff options
| author | Xishi Qiu <[email protected]> | 2014-10-13 22:55:07 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2014-10-14 00:18:26 +0000 |
| commit | bd5cfb8977fbb49d9350f7c81cf1516142e35a6a (patch) | |
| tree | 3dd7aed530f32f54c7f84df2cfa8f8377a6a5e61 /lib/test-string_helpers.c | |
| parent | fs: check bh blocknr earlier when searching lru (diff) | |
| download | kernel-bd5cfb8977fbb49d9350f7c81cf1516142e35a6a.tar.gz kernel-bd5cfb8977fbb49d9350f7c81cf1516142e35a6a.zip | |
arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable
If all the nodes are marked hotpluggable, alloc node data will fail.
Because __next_mem_range_rev() will skip the hotpluggable memory
regions. numa_clear_kernel_node_hotplug() is called after alloc node
data.
numa_init()
...
ret = init_func(); // this will mark hotpluggable flag from SRAT
...
memblock_set_bottom_up(false);
...
ret = numa_register_memblks(&numa_meminfo); // this will alloc node data(pglist_data)
...
numa_clear_kernel_node_hotplug(); // in case all the nodes are hotpluggable
...
numa_register_memblks()
setup_node_data()
memblock_find_in_range_node()
__memblock_find_range_top_down()
for_each_mem_range_rev()
__next_mem_range_rev()
This patch moves numa_clear_kernel_node_hotplug() into
numa_register_memblks(), clear kernel node hotpluggable flag before
alloc node data, then alloc node data won't fail even all the nodes
are hotpluggable.
[[email protected]: coding-style fixes]
Signed-off-by: Xishi Qiu <[email protected]>
Cc: Dave Jones <[email protected]>
Cc: Tang Chen <[email protected]>
Cc: Gu Zheng <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/test-string_helpers.c')
0 files changed, 0 insertions, 0 deletions
