From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by kanga.kvack.org (Postfix) with ESMTP id EEE3B6B0253 for ; Tue, 13 Oct 2015 22:52:41 -0400 (EDT) Received: by padcn9 with SMTP id cn9so8406210pad.2 for ; Tue, 13 Oct 2015 19:52:41 -0700 (PDT) Received: from heian.cn.fujitsu.com ([59.151.112.132]) by mx.google.com with ESMTP id os5si9504964pab.233.2015.10.13.19.52.40 for ; Tue, 13 Oct 2015 19:52:41 -0700 (PDT) Message-ID: <561DC30C.70909@cn.fujitsu.com> Date: Wed, 14 Oct 2015 10:50:52 +0800 From: Tang Chen MIME-Version: 1.0 Subject: Re: [PATCH] mm: skip if required_kernelcore is larger than totalpages References: <5615D311.5030908@huawei.com> <5617e00e.0c5b8c0a.2d0dd.3faa@mx.google.com> <561B0ECD.5000507@huawei.com> In-Reply-To: <561B0ECD.5000507@huawei.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Xishi Qiu , Yasuaki Ishimatsu Cc: Andrew Morton , Yasuaki Ishimatsu , Mel Gorman , David Rientjes , zhongjiang@huawei.com, Linux MM , LKML Hi, Qiu The patch seems OK to me. Only one little concern below. On 10/12/2015 09:37 AM, Xishi Qiu wrote: > On 2015/10/9 23:41, Yasuaki Ishimatsu wrote: > >> On Thu, 8 Oct 2015 10:21:05 +0800 >> Xishi Qiu wrote: >> >>> If kernelcore was not specified, or the kernelcore size is zero >>> (required_movablecore >= totalpages), or the kernelcore size is larger >> Why does required_movablecore become larger than totalpages, when the >> kernelcore size is zero? I read the code but I could not find that you >> mention. >> > If user only set boot option movablecore, and the value is larger than > totalpages, the calculation of kernelcore is zero, but we can't fill > the zone only with kernelcore, so skip it. > > I have send a patch before this patch. > "fix overflow in find_zone_movable_pfns_for_nodes()" > ... > required_movablecore = > roundup(required_movablecore, MAX_ORDER_NR_PAGES); > + required_movablecore = min(totalpages, required_movablecore); > corepages = totalpages - required_movablecore; > ... So if required_movablecore >= totalpages, there won't be any ZONE_MOVABLE. How about add a warning or debug info to tell the user he has specified a too large movablecore, and it is ignored ? Thanks. > > Thanks, > Xishi Qiu > >> Thanks, >> Yasuaki Ishimatsu >> >>> than totalpages, there is no ZONE_MOVABLE. We should fill the zone >>> with both kernel memory and movable memory. >>> >>> Signed-off-by: Xishi Qiu >>> --- >>> mm/page_alloc.c | 7 +++++-- >>> 1 file changed, 5 insertions(+), 2 deletions(-) >>> >>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >>> index af3c9bd..6a6da0d 100644 >>> --- a/mm/page_alloc.c >>> +++ b/mm/page_alloc.c >>> @@ -5674,8 +5674,11 @@ static void __init find_zone_movable_pfns_for_nodes(void) >>> required_kernelcore = max(required_kernelcore, corepages); >>> } >>> >>> - /* If kernelcore was not specified, there is no ZONE_MOVABLE */ >>> - if (!required_kernelcore) >>> + /* >>> + * If kernelcore was not specified or kernelcore size is larger >>> + * than totalpages, there is no ZONE_MOVABLE. >>> + */ >>> + if (!required_kernelcore || required_kernelcore >= totalpages) >>> goto out; >>> >>> /* usable_startpfn is the lowest possible pfn ZONE_MOVABLE can be at */ >>> -- >>> 2.0.0 >>> >>> >>> -- >>> To unsubscribe, send a message with 'unsubscribe linux-mm' in >>> the body to majordomo@kvack.org. For more info on Linux MM, >>> see: http://www.linux-mm.org/ . >>> Don't email: email@kvack.org >> . >> > > > . > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org