Message ID | 20250419122801.1752234-1-lrh2000@pku.edu.cn (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 88B8EC369BD for <linux-mm@archiver.kernel.org>; Sat, 19 Apr 2025 12:28:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35ABE6B0024; Sat, 19 Apr 2025 08:28:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2E3206B0025; Sat, 19 Apr 2025 08:28:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 184F96B0026; Sat, 19 Apr 2025 08:28:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E7ECD6B0024 for <linux-mm@kvack.org>; Sat, 19 Apr 2025 08:28:23 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 09DA51D082B for <linux-mm@kvack.org>; Sat, 19 Apr 2025 12:28:24 +0000 (UTC) X-FDA: 83350721328.01.EBC391F Received: from pku.edu.cn (mx17.pku.edu.cn [162.105.129.180]) by imf15.hostedemail.com (Postfix) with ESMTP id 1187DA0005 for <linux-mm@kvack.org>; Sat, 19 Apr 2025 12:28:20 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=pku.edu.cn header.s=dkim header.b=a1VqtP9H; spf=pass (imf15.hostedemail.com: domain of lrh2000@pku.edu.cn designates 162.105.129.180 as permitted sender) smtp.mailfrom=lrh2000@pku.edu.cn; dmarc=pass (policy=none) header.from=pku.edu.cn ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745065702; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=AObsAtduGZ63th88XycIDz+dXpqaRhb4xccEN4ZKHaA=; b=wH/pv/zpfyzYdsN/EkSje/SYnzHGiXeG0NiC/jK+YrS/2ZWTm0uCEqk9itjjiLplcai8MA tLfdut1FbrRyhMugrGDtG0cwfhkwSyn2MdojTIg94QHk1dQ9r2M55504pc3fi1S6uHlhMk 9Lv79X3U6cFKFXicAlrR6kxIdU+1APk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=pku.edu.cn header.s=dkim header.b=a1VqtP9H; spf=pass (imf15.hostedemail.com: domain of lrh2000@pku.edu.cn designates 162.105.129.180 as permitted sender) smtp.mailfrom=lrh2000@pku.edu.cn; dmarc=pass (policy=none) header.from=pku.edu.cn ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745065702; a=rsa-sha256; cv=none; b=yb/Zeb1Ni5BpZFh/Uqk/0at/GYBKSbYvGTk8lfYHThhWIz4Wmg3k3swCgrgIO9rfzKM2P0 jLvjSpbHKG7ERxwKcV5rTted8RHx2si63AE1j8DcTDG1B6iToY0yHRAZjR3qxWCujCF7zF dowKxTTb05YoQHC3DbMyZJ/fqVd/Sh8= Received: from pku.edu.cn (unknown [10.4.225.203]) by mtasvr (Coremail) with SMTP id _____7DwLbLclgNotwAvAQ--.9105S3; Sat, 19 Apr 2025 20:28:13 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pku.edu.cn; s=dkim; h=Received:From:To:Cc:Subject:Date: Message-ID:MIME-Version:Content-Transfer-Encoding; bh=AObsAtduGZ 63th88XycIDz+dXpqaRhb4xccEN4ZKHaA=; b=a1VqtP9HtQjtOMdjWoGnCmnSC9 RNQm6MK2DRhpFhBnL2ikKQxceb1sz3SZlTBemCJ2dQwpO+kpEbJ6OxFJbHGDaZF5 qw3zm4xGd5uGvGKOICjsjt8QNCfJlx7zR28p+qRJ8Rl8MTylVm1Z1jX64vEHzllc LR19kBvzEExW/NVQ4= Received: from localhost.localdomain (unknown [10.4.225.203]) by front02 (Coremail) with SMTP id 54FpogBnnIbXlgNoWRgsAA--.10176S2; Sat, 19 Apr 2025 20:28:11 +0800 (CST) From: Ruihan Li <lrh2000@pku.edu.cn> To: Mike Rapoport <rppt@kernel.org>, Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Ruihan Li <lrh2000@pku.edu.cn> Subject: [PATCH v2] mm/mm_init: Don't iterate pages below ARCH_PFN_OFFSET Date: Sat, 19 Apr 2025 20:28:01 +0800 Message-ID: <20250419122801.1752234-1-lrh2000@pku.edu.cn> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: 54FpogBnnIbXlgNoWRgsAA--.10176S2 X-CM-SenderInfo: yssqiiarrvmko6sn3hxhgxhubq/1tbiAgEIBWf35XUDOwATsl X-CM-DELIVERINFO: =?B?v6pnrqaAH6dYjNjDbLdWX9VB7ttaQFyXTaecYZzOeDisy/krtsX5TsLkpeAzENeCPc 0+BDdXjm5Mlm64oODP/CxX7CeybRmcZ7rayCADYg0BJ4IOAwTj6yjmtNJFLQfpT0pZ9XtN E9kYHVEAf5DxtctTFKA9+LYltjuEh7gBQ6bC/pEBgmTyCKL+0ViVPTiC8IUBvA== X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 1187DA0005 X-Stat-Signature: ynok8hft64jwimn1yyy86xbrhqyk35b7 X-HE-Tag: 1745065700-477266 X-HE-Meta: U2FsdGVkX1/SCV+rKtOYgz4hmchxJ4d5WIe10JbdU2lIlXjfSkp5bbTtus0v1Ij56HP60ieflihMEt7JI5jw4h9RZnJUNW9VhoHGbcmeT4CUPq+WoC+dmnChTg8119Jza/hPL7Z/FrvGB0owUEH+zEdo361lJIft0nEdBveXHIwMFCQ7JG4OrISspoYXWctdt3P1mtdbTNvShOCoWfa9R7tp3oPFPsrWPS8YCKqUoJ1O7uLU9TIwD24oHqKFzHo4Op4ApuKQJCngmZGh9HDn4UBvJgj9JAncdr/JkpL/h5Gxwm0b0tC6ZLUhEptTWpBTOAXRWSSqcGboOnLJgVmw2ZW/kn2ZC4RXrY5B5lOr73l5Tz55lxB/XhL/GluuxpwQ/tZxke1g5UWJ/7EZC1zkR1Kmlp8FtiC4xqSDouWwme7uk0nxIAHe55OfaHjX/RgJZ5yUlP88JcpmPTIFCySbwU3I4Y6KDac6Qj9neqtQyx8WG658SaHRO0P7gxjw3myMf5UbRcMvTayfPIofRhlOze1GffU0tiPI8FBGfHSiWA1kVbo3NIBwcONXTyMoSyFtuEw3iC1aYdBEJUkVKl9i7RUc1C7BrnIJrq0tN7wtdnZFs5SKW2/v9/Lv8oNKAdxrU5JzuWMojY859ggGL+v77EbpO9PqQMsI7SVMNallKaUtfU8JLiLKyyPep31OC+tc1IIcH8EDHubYStubKcru805JYrZ9vRohManeTb6/fV4nvxMSo7tntND/MeMa4nSiDFSayIIj+ckBtgVOTTFKvsU/5Qq4PbbACL5LL82jHW+9RtODKrsHp5dHXAeJMRI3KIsV5RC3+FQQHGIn8rvUvhzg4TZrXCPB6/8943WQX0skjD9GSUQX1LxVqxsaYZzs5Ap4zmYVMs1P7VOvAXkQI12I/rHtjidniBLffUpOX+crfn25Clh7nLhTNlwzAf5ai03VJpAXiqE2Nxg2m8r ZNs/R/qi wJxQ7OE9MtE96ZpZGdOtgf5KLRxV9rNqxs2KjCrEFCaH3uTCrHNu84lPadJCYuucNKVEel5zKVafPVkzzr7Pl6YbiWiHGIDKKKS3UM0nTRn1qNXfLLBsGEtRa/1SHHwQ4jFkOMwFK+9HcegEgCnZu+8YAFKH7BIZvhYSfuVRRaItmnN7sW7w6sX0Z2ZDmAsMx1AZ/QwA+a+xPdfNlQAH24uP9QhVndWIpC09eP4KzO3cbZz1YkV76gJEitw== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
[v2] mm/mm_init: Don't iterate pages below ARCH_PFN_OFFSET
|
expand
|
diff --git a/mm/mm_init.c b/mm/mm_init.c index 84f14fa12..a697a83ff 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -969,6 +969,15 @@ static void __init memmap_init(void) unsigned long hole_pfn = 0; int i, j, zone_id = 0, nid; +#ifdef CONFIG_FLATMEM + /* + * Pages below ARCH_PFN_OFFSET are invalid as far as pfn_valid is + * concerned, so don't waste time iterating on them when looking + * for holes. + */ + hole_pfn = ARCH_PFN_OFFSET; +#endif + for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) { struct pglist_data *node = NODE_DATA(nid);
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. This problem has existed since commit 907ec5fca3dc ("mm: zero remaining unavailable struct pages"). Signed-off-by: Ruihan Li <lrh2000@pku.edu.cn> --- Link to v1: - https://lore.kernel.org/linux-mm/20250418162727.1535335-1-lrh2000@pku.edu.cn/ Changes since v1: - Removed the unnecessary Fixes tag. - Fixed the build issue for CONFIG_SPARSEMEM. mm/mm_init.c | 9 +++++++++ 1 file changed, 9 insertions(+)