From: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> This patch is part5 of the following patchset: https://lkml.org/lkml/2012/10/29/319 The patchset is based on Linus's tree with these three patches already applied: https://lkml.org/lkml/2012/10/24/151 https://lkml.org/lkml/2012/10/26/150 Part1 is here: https://lkml.org/lkml/2012/10/31/30 Part2 is here: http://marc.info/?l=linux-kernel&m=135166705909544&w=2 Part3 is here: http://marc.info/?l=linux-kernel&m=135167050510527&w=2 Part4 is here: http://marc.info/?l=linux-kernel&m=135167344211401&w=2 You can apply this patch without the other parts. But it only can work with part1-5. We need something like kernelcore_max_addr=XX boot option to limit the kernelcore upper address. The memory with higher address will be migratable(movable) and they are easier to be offline(always ready to be offline when the system don't require so much memory). It makes things easy when we dynamic hot-add/remove memory, make better utilities of memories, and helps for THP. Lai Jiangshan (1): page_alloc: add kernelcore_max_addr Yasuaki Ishimatsu (4): x86: get pg_data_t's memory from other node x86: use memblock_set_current_limit() to set memblock.current_limit memblock: limit memory address from memblock memblock: compare current_limit with end variable at memblock_find_in_range_node() Documentation/kernel-parameters.txt | 9 +++++++++ arch/x86/kernel/setup.c | 4 ++-- arch/x86/mm/numa.c | 8 ++++++-- include/linux/memblock.h | 1 + mm/memblock.c | 10 +++++++--- mm/page_alloc.c | 33 ++++++++++++++++++++++++++++++++- 6 files changed, 57 insertions(+), 8 deletions(-) -- 1.8.0 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html