If kernelcore is not set, then we are working with a very large kernelcore for nothing - no movable zone will be created. If kernelcore is set, then it is not respected at all.
Signed-off-by: Zhihui Zhang <zzhs...@gmail.com> --- mm/page_alloc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 40e2942..32bf5da 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5199,7 +5199,11 @@ static void __init find_zone_movable_pfns_for_nodes(void) */ required_movablecore = roundup(required_movablecore, MAX_ORDER_NR_PAGES); - corepages = totalpages - required_movablecore; + + if (totalpages > required_movablecore) + corepages = totalpages - required_movablecore; + else + corepages = 0; required_kernelcore = max(required_kernelcore, corepages); } -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/