From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752578AbbC2DgP (ORCPT ); Sat, 28 Mar 2015 23:36:15 -0400 Received: from mail-qc0-f169.google.com ([209.85.216.169]:34796 "EHLO mail-qc0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752349AbbC2DgO (ORCPT ); Sat, 28 Mar 2015 23:36:14 -0400 From: Zhihui Zhang To: akpm@linux-foundation.org, mgorman@suse.de Cc: linux-kernel@vger.kernel.org Subject: [PATCH] Do not use arbitrary large movablecore to calculate kernelcore Date: Sat, 28 Mar 2015 23:36:02 -0400 Message-Id: <1427600162-4610-1-git-send-email-zzhsuny@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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