From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26A9EC10DCE for ; Wed, 18 Mar 2020 16:16:32 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E646220663 for ; Wed, 18 Mar 2020 16:16:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E646220663 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 853A06B0070; Wed, 18 Mar 2020 12:16:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DCD76B0071; Wed, 18 Mar 2020 12:16:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6CE496B0072; Wed, 18 Mar 2020 12:16:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0116.hostedemail.com [216.40.44.116]) by kanga.kvack.org (Postfix) with ESMTP id 519DE6B0070 for ; Wed, 18 Mar 2020 12:16:31 -0400 (EDT) Received: from smtpin22.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 0FC891EF3 for ; Wed, 18 Mar 2020 16:16:31 +0000 (UTC) X-FDA: 76608985782.22.lunch52_1bc20f92c1f04 X-HE-Tag: lunch52_1bc20f92c1f04 X-Filterd-Recvd-Size: 4418 Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by imf46.hostedemail.com (Postfix) with ESMTP for ; Wed, 18 Mar 2020 16:16:30 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id l20so119427wmi.3 for ; Wed, 18 Mar 2020 09:16:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=78UWOqjS0lj6VMY9x7/TPa80DlSDYmS0inBUIVzOTXs=; b=mCFo/y4q2a1Gg3CJU/08ep4+DxugO6uTA6oA1pFZEn/HOs58k77oKgjNrDMtiDl11P C3vMd9sOg1o6eG4pVJclefF0JWl0fBhD1XtzLWG2nK08Z76rqhCX8QiLzgNmGQPyDvgm hDrE/i8wgd1ngV8YG6MecCWlJ/uZKLsswkIym2L+TwHr6msuTi8sJNXtkqmANTI5DPJV 5NLZDkppj2K83O9Gpx2q5yL7Fw9/6MxXfNcDvstM+w1YYT4HdD113I38MQ485HdQ2HL+ Q6ksDJhu/VMG+PSuEkSiDBgUOjQmQDxU9+wBbptIIXnBc4E5TKUVcu3U31Ri4PEvS2Wl re1A== X-Gm-Message-State: ANhLgQ0hc5hOGm3QOBCEi6pXsJGF59jLVCTSHLa4di+xp1Ok3vs8r7sd 4xsjqSHdqnf2FI7119uRWZ8= X-Google-Smtp-Source: ADFU+vtiFa59oufIyWkspWa++bxRmex4MItgFiYopT/n2F8x6FTRiJtcWDm7TE5bFYfD2RgUCGvWeA== X-Received: by 2002:a7b:cd14:: with SMTP id f20mr3001184wmj.176.1584548187965; Wed, 18 Mar 2020 09:16:27 -0700 (PDT) Received: from localhost (ip-37-188-180-89.eurotel.cz. [37.188.180.89]) by smtp.gmail.com with ESMTPSA id d15sm10001233wrp.37.2020.03.18.09.16.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2020 09:16:27 -0700 (PDT) Date: Wed, 18 Mar 2020 17:16:25 +0100 From: Michal Hocko To: Roman Gushchin Cc: Andrew Morton , linux-mm@kvack.org, kernel-team@fb.com, linux-kernel@vger.kernel.org, Rik van Riel , Andreas Schaufler , Mike Kravetz , Guido =?iso-8859-1?Q?G=FCnther?= , Naresh Kamboju Subject: Re: [PATCH] mm: hugetlb: fix hugetlb_cma_reserve() if CONFIG_NUMA isn't set Message-ID: <20200318161625.GR21362@dhcp22.suse.cz> References: <20200318153424.3202304-1-guro@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200318153424.3202304-1-guro@fb.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed 18-03-20 08:34:24, Roman Gushchin wrote: > If CONFIG_NUMA isn't set, there is no need to ensure that > the hugetlb cma area belongs to a specific numa node. > > min/max_low_pfn can be used for limiting the maximum size > of the hugetlb_cma area. > > Also for_each_mem_pfn_range() is defined only if > CONFIG_HAVE_MEMBLOCK_NODE_MAP is set, and on arm (unlike most > other architectures) it depends on CONFIG_NUMA. This makes the > build fail if CONFIG_NUMA isn't set. CONFIG_HAVE_MEMBLOCK_NODE_MAP has popped out as a problem several times already. Is there any real reason we cannot make it unconditional? Essentially make the functionality always enabled and drop the config? The code below is ugly as hell. Just look at it. You have for_each_node_state without any ifdefery but the having ifdef CONFIG_NUMA. That just doesn't make any sense. > Signed-off-by: Roman Gushchin > Reported-by: Andreas Schaufler > --- > mm/hugetlb.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 7a20cae7c77a..a6161239abde 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -5439,16 +5439,21 @@ void __init hugetlb_cma_reserve(int order) > > reserved = 0; > for_each_node_state(nid, N_ONLINE) { > - unsigned long start_pfn, end_pfn; > unsigned long min_pfn = 0, max_pfn = 0; > - int res, i; > + int res; > +#ifdef CONFIG_NUMA > + unsigned long start_pfn, end_pfn; > + int i; > > for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) { > if (!min_pfn) > min_pfn = start_pfn; > max_pfn = end_pfn; > } > - > +#else > + min_pfn = min_low_pfn; > + max_pfn = max_low_pfn; > +#endif > size = max(per_node, hugetlb_cma_size - reserved); > size = round_up(size, PAGE_SIZE << order); > > -- > 2.24.1 -- Michal Hocko SUSE Labs