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 4257EC83F1A for ; Thu, 17 Jul 2025 11:07:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C385C6B008C; Thu, 17 Jul 2025 07:07:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BE8CA6B0095; Thu, 17 Jul 2025 07:07:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFEA46B0099; Thu, 17 Jul 2025 07:07:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 9EB0F6B008C for ; Thu, 17 Jul 2025 07:07:02 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5B4F712EBC4 for ; Thu, 17 Jul 2025 11:07:01 +0000 (UTC) X-FDA: 83673479442.24.D55CD2D Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by imf17.hostedemail.com (Postfix) with ESMTP id 147EB40008 for ; Thu, 17 Jul 2025 11:06:56 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of mawupeng1@huawei.com designates 45.249.212.191 as permitted sender) smtp.mailfrom=mawupeng1@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752750418; a=rsa-sha256; cv=none; b=FgrvqPTbulgNR3/Nbr/C65dUV6BD0TfJk4jUAXIkrE6EygOr0yp1tVVWNYIfYjrnLU1Yiz 4I9sQkSnHghzOa0u5uBXEpw7GPgDSbODrFBQW6XVpSZy9DvG8Iy/gXhdF1Psrv17LyNt5i zRYH0n5fSa3L1vHUjBbsjMo1XVHb+Ns= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of mawupeng1@huawei.com designates 45.249.212.191 as permitted sender) smtp.mailfrom=mawupeng1@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752750418; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fvTrhp/HXZdHEB/dU/ZpRkWCrn5f0MgFWaFrOyYN7fo=; b=fAhyFmrc7tdSqOGXMf1ZZT9ab53qQK+IhckJAHZwbxqAs3392YAZ6/ovc0yHg7mWaeuQDr kiinrF32GQk7FK43+ucHkDjjtBCavhEn0PkvCYXdND7jnRbRNYK6al+1QitEv27sAyqYgw +T8k6t4yDW0uWcd30LXGeolHleVQ+GE= Received: from mail.maildlp.com (unknown [172.19.88.214]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4bjVSH66N6z2FbPX; Thu, 17 Jul 2025 19:04:47 +0800 (CST) Received: from kwepemg100017.china.huawei.com (unknown [7.202.181.58]) by mail.maildlp.com (Postfix) with ESMTPS id 0FEBF1A016C; Thu, 17 Jul 2025 19:06:53 +0800 (CST) Received: from [10.174.178.114] (10.174.178.114) by kwepemg100017.china.huawei.com (7.202.181.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 17 Jul 2025 19:06:52 +0800 Message-ID: <9688e968-e9af-4143-b550-16c02a0b4ceb@huawei.com> Date: Thu, 17 Jul 2025 19:06:52 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird CC: , , , , Subject: Re: [PATCH] mm: ignore nomap memory during mirror init To: References: <20250717085723.1875462-1-mawupeng1@huawei.com> From: mawupeng In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.178.114] X-ClientProxiedBy: kwepems100001.china.huawei.com (7.221.188.238) To kwepemg100017.china.huawei.com (7.202.181.58) X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 147EB40008 X-Stat-Signature: i3koakwijemhp8qohxfai1i7r7oxrnhz X-HE-Tag: 1752750416-235153 X-HE-Meta: U2FsdGVkX182LKw6bKIIjzBReDYdp2g2rj4QmNi0//RFGeBuIyNaG6ZI2krWAK1r1z0K1YrusfV7CmkJONLVnuqBlWpRTKJssJXwVUl6h7KGI67T/Z9GmupYT4ZvNekmU2bru/vqzlQ67H0WFZtwBEEJRXOGC3JCdV2nedqen7ms/Pke4JCD0qV7PFQP5STwA+TF7v+dpiII3DrEHs+Y31F6Uq/mZEtVflRhgxHn+cHPw49pCtFsqQF7Z3iru+vijFOS6evMv4gP2pyUTP41dtrxovngAHYCA1B176c57oFiHoM1VqwpIqQvcJULkchEN0ZrgtThwF5ehR+LMDhHEetH855CZygwVha3Jd6wBXZQe8+Nf6ikris8XWeHPP5q9D+LWfGzu0Xi0KdbuUq6zN9jUroFUrJpIklFZjSkCmE+nStPCxtcHDQAMBu+ITJxtE2XSpyqIIG2xBldQ668DjQO+5eKKCt/cp6etUN0uHoGRH6LKvi0okOYI8K9jkRDGYKxJRdYMSMF70cY5+UKkO8rO7jMF+NW6jTwaVigJ5EaUqeXzqs7s+gYsPEjJOVg0LQiLiqKPPcVI9HKzrj4i4akXNeY8AeP8xOaQyx8uUoxRaE8Qc/7mDUyofyxJkJ1Uqi9toZr6h0AtszSw8SCI2kF0RwLTweJTxsLbWS65NdaqV4c+VpV+dDziP+4qpBPXYT02O+lJy6QQ2EZqBeWt6ZULGHfKD6YK3MN9pNm3wR+PLzdPDcLcnnNhutv/AZfRYCU8mEgsxQgPsVYn1K0g5iWViLSmayQaSUY2p11CUMMeCv5ONo2NI7sCUIti+9tV4CyA2kUpoNMI8f0EwvQnbnPzKaF9BqcuK65uVjkWBfIm0LMMwBgG6OZ4M73MzNSnrWrUzy2UjlAGl2fHEYfuAOrgnWRrZ1PMgwE+ISKak/M928Ssspzd1UpUwdrQ9/6d2a+FaTpRzAPtohWLJP hCsFO1mK x1EqOULMqZgjn1ApDZ/DgMjqA48emo1XY2ykqIAThtQxrf1yhgOvh0zILR3PpoYa1/gnAq8aQVTTbC/+b534edSAID3ec/x5R2mAMBnKGMh26tcUDdbVQRrXKX1pCkGYNGNp4npiwFsNwbsbsltq0/omXfKfUmCg1G2zSLNPXgFQA8XIP3enmAGLFVvtnIBleULH45bX6JyrvBsCU4wDy0MzlwuuMYHVS0TnLCwatVAnS9Xrzrob1w+skjOYyv+31LNYoY0KlitK851c= 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: On 2025/7/17 18:29, Mike Rapoport wrote: > On Thu, Jul 17, 2025 at 04:57:23PM +0800, Wupeng Ma wrote: >> When memory mirroring is enabled, the BIOS may reserve memory regions >> at the start of the physical address space without the MR flag. This will >> lead to zone_movable_pfn to be updated to the start of these reserved >> regions, resulting in subsequent mirrored memory being ignored. >> >> Here is the log with efi=debug enabled: >> efi: 0x084004000000-0x0842bf37ffff [Conventional| | |MR|...|WB|WT|WC| ] >> efi: 0x0842bf380000-0x0842c21effff [Loader Code | | |MR|...|WB|WT|WC| ] >> efi: 0x0842c21f0000-0x0847ffffffff [Conventional| | |MR|...|WB|WT|WC| ] >> efi: 0x085000000000-0x085fffffffff [Conventional| | | |...|WB|WT|WC| ] >> ... >> efi: 0x084000000000-0x084003ffffff [Reserved | | | |...|WB|WT|WC| ] >> >> Since this kind of memory can not be used by kernel. ignore nomap memory to fix >> this issue. Since the first non-mirror pfn of this node is 0x084000000000, then zone_movable_pfn for this node will be updated to this. This will lead to Mirror Region - 0x084004000000-0x0842bf37ffff - 0x0842bf380000-0x0842c21effff - 0x0842c21f0000-0x0847ffffffff be seen as non-mirror memory since zone_movable_pfn will be the start_pfn of this node in adjust_zone_range_for_zone_movable(). So igore nomap memory to fix this problem. > > If the memory is nomap it won't be used by the kernel anyway. > What's the actual issue you are trying to fix? > >> Signed-off-by: Wupeng Ma >> --- >> 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 f2944748f526..1c36518f0fe4 100644 >> --- a/mm/mm_init.c >> +++ b/mm/mm_init.c >> @@ -405,7 +405,7 @@ static void __init find_zone_movable_pfns_for_nodes(void) >> } >> >> for_each_mem_region(r) { >> - if (memblock_is_mirror(r)) >> + if (memblock_is_mirror(r) || memblock_is_nomap(r)) >> continue; >> >> nid = memblock_get_region_node(r); >> -- >> 2.43.0 >> >