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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C1C9C369BD for ; Sat, 19 Apr 2025 12:08:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 464036B0022; Sat, 19 Apr 2025 08:08:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 411A56B0023; Sat, 19 Apr 2025 08:08:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2DBB36B0024; Sat, 19 Apr 2025 08:08:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0C0946B0022 for ; Sat, 19 Apr 2025 08:08:41 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8F7B91A2440 for ; Sat, 19 Apr 2025 12:08:40 +0000 (UTC) X-FDA: 83350671600.18.1769050 Received: from pku.edu.cn (mx18.pku.edu.cn [162.105.129.181]) by imf28.hostedemail.com (Postfix) with ESMTP id E7626C000C for ; Sat, 19 Apr 2025 12:08:36 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=pku.edu.cn header.s=dkim header.b=RvoaSgHf; dmarc=pass (policy=none) header.from=pku.edu.cn; spf=pass (imf28.hostedemail.com: domain of lrh2000@pku.edu.cn designates 162.105.129.181 as permitted sender) smtp.mailfrom=lrh2000@pku.edu.cn ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745064518; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ShQJ6bdQ3naO3cGgvt+FpfUT7oKSBjoS2qTqwnLQx1g=; b=IXrO32nmYPBTDX5DchDzh6a8nJeyv3NBPY3w9YbQpHm5RqMc1Yz1B1O2zm3zj6PcJD33u9 N++mL5OmLJbdou77Wj3U9oaabwV4rMcAPcyMUOPquSw22BeeXaQkMu/kKWkVZG5Ao+uhEF 1CmYJL/bjvt2rxvIU9BLqUkKlzwi6SM= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=pku.edu.cn header.s=dkim header.b=RvoaSgHf; dmarc=pass (policy=none) header.from=pku.edu.cn; spf=pass (imf28.hostedemail.com: domain of lrh2000@pku.edu.cn designates 162.105.129.181 as permitted sender) smtp.mailfrom=lrh2000@pku.edu.cn ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745064518; a=rsa-sha256; cv=none; b=niE8K4nLgdbJDKDxtdmlunZIKO4VBz/Az1/5l1qAy5/NS2uaxw5UW/pXKWLsvornWZY9cx bOBtkVykrMsJbpGacFS187U9cFWLu5L6dvCJvlO18QxM6TLQABBaPCmjW4Nh5YkuPP8r6k faoNVixcnWuaTBav1UKpIf2ZhYRblUU= Received: from pku.edu.cn (unknown [10.4.225.203]) by mtasvr (Coremail) with SMTP id _____7Dw5kc8kgNoKm9QAA--.8882S3; Sat, 19 Apr 2025 20:08:29 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pku.edu.cn; s=dkim; h=Received:Date:From:To:Cc:Subject: Message-ID:References:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; bh=ShQJ6bdQ3naO3cGgvt+FpfUT7oKS BjoS2qTqwnLQx1g=; b=RvoaSgHfnbW6HB90vYoyEhTwEA1HE2MGpr70p7MBRPb/ dW3y6NDSA1KBjHWq0L0IfMtz9vm77GXKd9tWw2sDZ3glZSfX6KAhaTwtMcSRHuC+ haFOrYFOTrtLET1jXglCz0Vd3NESf6LIJ6Mpt/IdNw36oH1TD9qFmBr8xgeqzuM= Received: from localhost (unknown [10.4.225.203]) by front02 (Coremail) with SMTP id 54FpogAXTIY2kgNoR68rAA--.15898S2; Sat, 19 Apr 2025 20:08:28 +0800 (CST) Date: Sat, 19 Apr 2025 20:08:22 +0800 From: Ruihan Li To: Mike Rapoport Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ruihan Li Subject: Re: [PATCH] mm/mm_init: Don't iterate pages below ARCH_PFN_OFFSET Message-ID: <6f2sjssx6f4lidlhucdio45s6p7d6xr4ibr3n3f73z53x5u62e@hvyh5socmfll> References: <20250418162727.1535335-1-lrh2000@pku.edu.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-CM-TRANSID:54FpogAXTIY2kgNoR68rAA--.15898S2 X-CM-SenderInfo: yssqiiarrvmko6sn3hxhgxhubq/1tbiAgEIBWf35XUDOwARsn X-CM-DELIVERINFO: =?B?aH/fJ6aAH6dYjNjDbLdWX9VB7ttaQFyXTaecYZzOeDisy/krtsX5TsLkpeAzENeCPc 0+BDdXjm5Mlm64oODP/CxX7Cd2WUS6gvCXweNJGg4wTqVPON5pxajDNeWruRnFGC+vzwRc v3bsqmnf43BmGcHw7dEE9dfsVAMjqNIpZo88038huZM7cFNpXzyutorufK+aBg== X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== X-Stat-Signature: j1uwerwn39gwq54h3aje1uxakznpe1zj X-Rspamd-Queue-Id: E7626C000C X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1745064516-615816 X-HE-Meta: U2FsdGVkX18uznE0C4UsRTjDnHy4fDSDJ0YGzwH91Z5UfsIPVnJy+h/glkxJkZe0ku9kQesIztcWCD55UgQLLaA9nupL+mBojj2dhLVo8uW2cPNcg+5S11A4Vg2tE7zF7AzKgrec9zQ/vBoFJ8bLcSHjASSODPjb71/OIwKieF8zLI+kKydXrrW0M1j9N48JEaO+OV84rTGHCVNPRCbKMgPJnZDRlTGU12FafO5Orh8wM4XCYC7MdVDw3RGLkLZaw9xSb3hOmMkvt6fQBvnF0pQ3lJLJHNp6R0evbmQuIPqQ5FY67EC7RQnBvnux3H5W/4bPwEK3vq94qe+2ggOCrmzv5602gK/AT3n13XlxdbASoiX1CPSvE98LOORggJMUVlB9B6gUH94nUxYEzokEKG9Ge07ZyLFZUZkBjIPYAJ8GJDmzcgQsqVfPC6fonsJfgQpBflRcb/lpsUVYNRnm+Jof7UeW0/abb4s/NweKJukENIKcn3QfkSa9dCmbWmtvRyg2ftFZbTo7sm5irTk+vJRem/hJAJpRPvYSxTkglwfAYiKmI7oU0o9HDpVcb/CDAbcfOjQypcpLN5qdnqRElTGONceNiFgNMcuZ7HzpRUkCzFH/BZ+HpTZNjMxazi8XJsWPIpd1J1z8SHCZasUsQP/A/zMaspkuZFkd/jPB51SrAh0SgNdREftwciW4HQjcpopUXU6m2T2ZSkS56rxr+HdAxf42Z/EZID4M+Yc789BRXnrJr1zdWuyTMOGgaF05Uk+U/PYmwQlR+BwdK1tqs4opJEGJG9INTdtPAzmTsCm2yvh7/O/EDC7hB2x6hVwd8XpS4Pi+NgQgIrHMyGaa55i8CvPWtCY4XCttJXw1ETgunIsV0HtCDHsubLMWhgsAmjYBiW2zHAxQId4Y28btfRh+5WXDymGtwzVN2Pz9fJ/+wdaV9ecDpBgFrOOiVaKdFO8Q916AMA6641c+6sI So9I7ADS pLWY94LrARbLCyzhS3sSGiaPyj8nSwPLaMQ+1zxoIQaWERoIU5MbmkIHdboT76LlyFskA/5zdXmJ96L7TBeH4Xtk/kT/hOZeGTMGpvWgsxo2lV2a4CVqaM76j1vJ77whcCGZ40oKVujnsp5uT/IcPJLtIRilk0XNJNnbr8Fd8c6N3kd9sXNgUyMzPH2Xfwdv7x6lPlmrcKvNcT2OFMWk5mAVVP5am8rnXmB0H3L3jwYBcpV97NAUh+qL/WRVKToMOu6Mr7j0Nb9UcSWqZ4gYT+5QidqSLC2ZxX2iu/bnk2CmUANwp25ryiFwNe2MXVehwBWMe 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: List-Subscribe: List-Unsubscribe: Hi Mike, Thanks a lot for your review! On Sat, Apr 19, 2025 at 10:16:34AM +0300, Mike Rapoport wrote: > On Sat, Apr 19, 2025 at 12:27:27AM +0800, Ruihan Li wrote: > > Currently, memmap_init initializes pfn_hole with 0 instead of > > ARCH_PFN_OFFSET. Then init_unavailable_range will start iterating each > > page from the page at address zero to the first available page, but it > > won't do anything for pages below ARCH_PFN_OFFSET because pfn_valid > > won't pass. > > > > If ARCH_PFN_OFFSET is very large (e.g., something like 2^64-2GiB if the > > kernel is used as a library and loaded at a very high address), the > > pointless iteration for pages below ARCH_PFN_OFFSET will take a very > > long time, and the kernel will look stuck at boot time. > > > > This commit sets the initial value of pfn_hole to ARCH_PFN_OFFSET, which > > avoids the problematic and useless iteration mentioned above. > > > > Fixes: 907ec5fca3dc ("mm: zero remaining unavailable struct pages") > > I don't think it should be backported, this does not fix a bug. I thought the Fixes tag only indicated that the problem existed since the specific commit, not the need for a backport (since the backport should only happen when someone sends or CC's the patch to the linux-stable mailing list)? But anyway, I'm going to remove the Fixes tag when I send v2. > > > Signed-off-by: Ruihan Li > > --- > > mm/mm_init.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/mm_init.c b/mm/mm_init.c > > index 84f14fa12..b3ae9f797 100644 > > --- a/mm/mm_init.c > > +++ b/mm/mm_init.c > > @@ -966,7 +966,7 @@ static void __init memmap_init_zone_range(struct zone *zone, > > static void __init memmap_init(void) > > { > > unsigned long start_pfn, end_pfn; > > - unsigned long hole_pfn = 0; > > + unsigned long hole_pfn = ARCH_PFN_OFFSET; > > ARCH_PFN_OFFSET is defined only for FLATMEM, this won't even build for > SPARSEMEM. Sorry for my ignorance. I'm not familiar with the code and I'm only testing the FLATMEM configuration. I'll send a v2 patch to fix this. Thanks for pointing out my stupid mistake. > > > int i, j, zone_id = 0, nid; > > > > for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) { > > -- > > 2.49.0 > > > > > > -- > Sincerely yours, > Mike. Thanks, Ruihan Li