From patchwork Thu Mar 20 01:55:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Changyuan Lyu X-Patchwork-Id: 14023313 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 2D836C36000 for ; Thu, 20 Mar 2025 01:56:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E65C428000F; Wed, 19 Mar 2025 21:56:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DA32B280001; Wed, 19 Mar 2025 21:56:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF12328000F; Wed, 19 Mar 2025 21:56:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9DCCF280001 for ; Wed, 19 Mar 2025 21:56:23 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1BD401C6DD3 for ; Thu, 20 Mar 2025 01:56:24 +0000 (UTC) X-FDA: 83240264688.12.9E67A43 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by imf07.hostedemail.com (Postfix) with ESMTP id 5AB454000A for ; Thu, 20 Mar 2025 01:56:22 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=MxkSBlT7; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of 3xXXbZwoKCGQEJCPIaWCPNIQQING.EQONKPWZ-OOMXCEM.QTI@flex--changyuanl.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3xXXbZwoKCGQEJCPIaWCPNIQQING.EQONKPWZ-OOMXCEM.QTI@flex--changyuanl.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742435782; a=rsa-sha256; cv=none; b=u6LXqNAsQHxawEKQdv7ry4CrVQco03VnNKXuWzJoS+wrgG1dZc0OP3CkR90NkXXHV/yfzD mbXf47+6YKcQyKWTcXhJKeq7AAKuD6zb4vQv6tJWaA7tJ6Uj6Yc9BR9L9sYwJiAROblz9O 6x+F8Kj89ZnDCZe59WtP3nG0bOAqVuw= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=MxkSBlT7; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of 3xXXbZwoKCGQEJCPIaWCPNIQQING.EQONKPWZ-OOMXCEM.QTI@flex--changyuanl.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3xXXbZwoKCGQEJCPIaWCPNIQQING.EQONKPWZ-OOMXCEM.QTI@flex--changyuanl.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742435782; 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=Q4HakJ1xIrca+h2lsnqHQuPoA99HtUJXt7bntXeIsss=; b=Zm4kwTxU+Eys+cT7ZwIvMSi/1KDid5JZs9gSpng1flX0/HIEh0c1QpxIkBS5zBTb7a9SLo F5hCV79Ub13S/7V+HeTTn5trZt/X+2Dv+X+EWvione3jP1wmSDg65p5b0sF2OGLDjXAEte vmuYJfgK79MclDN4xO2pvWuBZiynBac= Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-224347aef79so4644155ad.2 for ; Wed, 19 Mar 2025 18:56:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1742435781; x=1743040581; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Q4HakJ1xIrca+h2lsnqHQuPoA99HtUJXt7bntXeIsss=; b=MxkSBlT7WA0m71S6BHprCyYRiwOExiM4DwrTWhgjDoCGPvE3g2h0zRof/Sr4BOHbQ+ SSPW5uZzXc3o5Z4XhDXNlH9cJthrndGlJPY3uw9bFxZuaTkentGvFFrNdKVXVKni168d t+qyT0dI5DOqpi44R4wRvB3YYaMj2qLnh4zmNa/xozm8KRUfQaxPvpF/uhrPizi6+bE8 yLEXuK7KLO4jAwPEOd1BgGbzFFOrZTKa376nyryfTSMxCXrWFPQHTefdRan1FJpzCtbj uqe4nA2ky9usJ3GYKIHMCYwNEJGmycP14in+dKJRWUPTCkRRc74C1LNPpgkryGxiSj2R UC9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742435781; x=1743040581; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Q4HakJ1xIrca+h2lsnqHQuPoA99HtUJXt7bntXeIsss=; b=C4CfRNlUXVAgGFc9jd6OvDhu3un0IbvqtedVxDSwKHlKHjOIFJozVBNMd9rYLqWmkD bgZuZcFflzZPtTk+bVSc4ONloJa30GgPcBDcj6Ms0zAkYkWGx/ho65JhbXFdCR3mHCeO vWBCe5jO8Ew6NuNK4QWRbTqw408ESoUaNMt5szMfCsC6snpEY4GS7J8nxx9PC2V27DHw UHxuM+bsjkpKSmIiQ6rXY9PyvClsWDAxaAZcO00TNtSDNdYNHQJeG1yAu99pCPUY2DSu lAr+3V/VGM1isgG+LEqB2mP0RS4acUrnuJQiMBvGF8YnGdqZiS8A+M4kOwAA1757S3fW rehw== X-Forwarded-Encrypted: i=1; AJvYcCXWSX8zJDb5zcwznllHb1s783gU7+i4ZrFr69HNf0IuCDiOzYn4w13aZN8T31OCS2yfzZm4VL9a+g==@kvack.org X-Gm-Message-State: AOJu0Yxkrx1qqOMhzgYFrDZwFvnXI13ckmB4mJw10hvLDgh0iwEE6Bnl RZ/tdUB/clHTuWzDAVT8G6iswFGBeuCjSTrcU+kqtK2UHq88Xjpu9pHvHIz6zKPPQ5psNeU3gA/ DMvR7N7rBUXA1bV/QGQ== X-Google-Smtp-Source: AGHT+IGeUFjJTWpK4QjhVVj4506qhZmgM6+vP3bTkcGXoNreK6tGzf61M1Gbm1yeqL/C/F63sl0IwvGvOY21BMKy X-Received: from plof5.prod.google.com ([2002:a17:902:8605:b0:21f:56e1:c515]) (user=changyuanl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:f548:b0:21f:b483:2ad5 with SMTP id d9443c01a7336-2264993273bmr61032515ad.20.1742435781232; Wed, 19 Mar 2025 18:56:21 -0700 (PDT) Date: Wed, 19 Mar 2025 18:55:48 -0700 In-Reply-To: <20250320015551.2157511-1-changyuanl@google.com> Mime-Version: 1.0 References: <20250320015551.2157511-1-changyuanl@google.com> X-Mailer: git-send-email 2.49.0.rc1.451.g8f38331e32-goog Message-ID: <20250320015551.2157511-14-changyuanl@google.com> Subject: [PATCH v5 13/16] x86/setup: use memblock_reserve_kern for memory used by kernel From: Changyuan Lyu To: linux-kernel@vger.kernel.org Cc: graf@amazon.com, akpm@linux-foundation.org, luto@kernel.org, anthony.yznaga@oracle.com, arnd@arndb.de, ashish.kalra@amd.com, benh@kernel.crashing.org, bp@alien8.de, catalin.marinas@arm.com, dave.hansen@linux.intel.com, dwmw2@infradead.org, ebiederm@xmission.com, mingo@redhat.com, jgowans@amazon.com, corbet@lwn.net, krzk@kernel.org, rppt@kernel.org, mark.rutland@arm.com, pbonzini@redhat.com, pasha.tatashin@soleen.com, hpa@zytor.com, peterz@infradead.org, ptyadav@amazon.de, robh+dt@kernel.org, robh@kernel.org, saravanak@google.com, skinsburskii@linux.microsoft.com, rostedt@goodmis.org, tglx@linutronix.de, thomas.lendacky@amd.com, usama.arif@bytedance.com, will@kernel.org, devicetree@vger.kernel.org, kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org X-Stat-Signature: hztkww7x1ojbc4c4erskwa7pqck3ywng X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 5AB454000A X-Rspam-User: X-HE-Tag: 1742435782-523393 X-HE-Meta: U2FsdGVkX19voyeFrhfw8FjZsUplqADNR4Ga63TjwM33AE3ZUd43jm153VBeuLCZ181jWVUEUdg1/V9VrZsU1eaCZZ+mlMip6EkwjdNhAMCIbwMKYReVlEKOR4oEWiHB+slyGizJqqoW67HznYZcE0S0sy2H9YCuCVawk/Ck4c5w8I7wXHhPPtBG5xv/O5GzVlUjtKa2NwU/6C8ML/r84aX7OaFioiyqgr0cLNUyTXYjKq3BBhpsgFo/hEzrpGoczdVQINpIwYABY31WKvAbdnG/aijSbn8EdKLti1bB8Ni/x13ylu/HO6Q1TZMPru887CE8sjZI2SLzqxDtzLDPwEgVNKUFQV0lUO7KROgYPNTewrwWnSvoMsboYU0HH8JLU9ARm4e1876ZXc5yGXCrk4pCRmwIOCEHu1dgCRC5v5+usqO4upZ3PwfKYzd59Zp+XwoUMOba92YTIOTR5oxa0D3KQ30wY5ShT+4WgH/NLtLX2CC/89nc248AGk6MSvMR+sn71btlMq3k6IfI7liFQvIVt+MBeN79xSuXo6YHtqQo1KgLS7AkzIuBot5nZD04++7YJ8pfP/E78dTerFq7PnpXg8AOWBNtIfPjXz37d4aPiXWhVw4Lmi0TM4EFvTPkp5RVnGQHEoeYlvfKRIoH3c01cAnWHGfHQMyhw5iU5kJJThq/+4T33w5mkIBcznVhhpbu5bRCqnAfwa0TI6rUKw9bjP5pmyAssbdl6FOqpoulaLbr2E5B6vVJVtTEEf5N7ba5qoV3WQSjrgGrzryPZvA2dBFBmWU98Qipz1rODrhrXrQezVdItLfeISABMIeLk4vPAU3ji7ITVgx3re6Sso8+jHjDhTw88hkqYPnBCfv8vsCV1Oh9C7C1Qv7jflyT7SjWSViF6XFUjXJGs4UU2bHpgqwuoTFHTUsLq/bZQm49EhjJYZWNAedx2B4yFjBE0nvGmUML6i/9TVls63E x99ycqan MnMAnC9RzIlurJWuIgHnlXXLSpqb5lmI1r/pz5SqX/Wet71IjfzRGJqJq4lAvDm6fuPTTafpEFceikc6U1+q/Y74gxZWf1Lilf4vR968wCTE+ytwqqJQQpE03eIpoKqogDMGcp2dJj8aVugsghPfoyER1Y/et5LreA+vPr/ZKTt5Tl4PivVWcbTd6nauC+0FyusMiE6CbG5+XnQ/el8TjKo1Imz13zAqfv0qm4p/aYN8g1PhrUOsMnmgMBpTyGoVLA1Bbl/hIEwStphq0Yvtmdzh1LNdR3NS17zJ4AsEYqNWXUcHG35G2Gdk6d4pIaIHt83/nU1Ycb7myvMgwPXYDDeoJAxGlGuitBs6s5Ys+s6j/G8QDvECc5ajh4lY8Z2uX65sAWhuXigFvWSOByV8WeWkHecB0JI/CfHM1hiDiA4+NdMKR1u15IBjJvpOtVdgMG115KxBDqekCpjaJnPOSxmVdkzsXxNwKKICnSRL23xFurXJ5svpDjk59hriDV+FduxOKszFGEy82Mfrsq7Jk5Teg4q9t5lMe2Pjxv0NP3eG0UoQ30MzJqrOIZEfveTnEU0yfGMTVdkG7sjcGi/b5ZBIdYnbTn76MKu3pmq2UNmwhtud/WnlwpIfHBdkQL+9v7XxDW7XikSaEYArJwCObxnypyBTKar83Hsk4yEugEcVWLCG0Vi2PLNhnCtATxOmSzqf4RAEhh2Tcdphc7rQPHkN5OSaKewZSWX49 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: From: "Mike Rapoport (Microsoft)" memblock_reserve() does not distinguish memory used by firmware from memory used by kernel. The distinction is nice to have for accounting of early memory allocations and reservations, but it is essential for kexec handover (kho) to know how much memory kernel consumes during boot. Use memblock_reserve_kern() to reserve kernel memory, such as kernel image, initrd and setup data. Signed-off-by: Mike Rapoport (Microsoft) --- arch/x86/kernel/setup.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index cebee310e200..ead370570eb2 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -220,8 +220,8 @@ static void __init cleanup_highmap(void) static void __init reserve_brk(void) { if (_brk_end > _brk_start) - memblock_reserve(__pa_symbol(_brk_start), - _brk_end - _brk_start); + memblock_reserve_kern(__pa_symbol(_brk_start), + _brk_end - _brk_start); /* Mark brk area as locked down and no longer taking any new allocations */ @@ -294,7 +294,7 @@ static void __init early_reserve_initrd(void) !ramdisk_image || !ramdisk_size) return; /* No initrd provided by bootloader */ - memblock_reserve(ramdisk_image, ramdisk_end - ramdisk_image); + memblock_reserve_kern(ramdisk_image, ramdisk_end - ramdisk_image); } static void __init reserve_initrd(void) @@ -347,7 +347,7 @@ static void __init add_early_ima_buffer(u64 phys_addr) } if (data->size) { - memblock_reserve(data->addr, data->size); + memblock_reserve_kern(data->addr, data->size); ima_kexec_buffer_phys = data->addr; ima_kexec_buffer_size = data->size; } @@ -447,7 +447,7 @@ static void __init memblock_x86_reserve_range_setup_data(void) len = sizeof(*data); pa_next = data->next; - memblock_reserve(pa_data, sizeof(*data) + data->len); + memblock_reserve_kern(pa_data, sizeof(*data) + data->len); if (data->type == SETUP_INDIRECT) { len += data->len; @@ -461,7 +461,7 @@ static void __init memblock_x86_reserve_range_setup_data(void) indirect = (struct setup_indirect *)data->data; if (indirect->type != SETUP_INDIRECT) - memblock_reserve(indirect->addr, indirect->len); + memblock_reserve_kern(indirect->addr, indirect->len); } pa_data = pa_next; @@ -649,8 +649,8 @@ static void __init early_reserve_memory(void) * __end_of_kernel_reserve symbol must be explicitly reserved with a * separate memblock_reserve() or they will be discarded. */ - memblock_reserve(__pa_symbol(_text), - (unsigned long)__end_of_kernel_reserve - (unsigned long)_text); + memblock_reserve_kern(__pa_symbol(_text), + (unsigned long)__end_of_kernel_reserve - (unsigned long)_text); /* * The first 4Kb of memory is a BIOS owned area, but generally it is