From patchwork Fri Apr 11 05:37:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Changyuan Lyu X-Patchwork-Id: 14047570 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 42A93C369A2 for ; Fri, 11 Apr 2025 05:38:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 88285280162; Fri, 11 Apr 2025 01:38:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 80A7128015B; Fri, 11 Apr 2025 01:38:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 683F0280162; Fri, 11 Apr 2025 01:38:40 -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 4535128015B for ; Fri, 11 Apr 2025 01:38:40 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2BA55C1D49 for ; Fri, 11 Apr 2025 05:38:41 +0000 (UTC) X-FDA: 83320658442.09.87986D5 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf13.hostedemail.com (Postfix) with ESMTP id 5E94620002 for ; Fri, 11 Apr 2025 05:38:39 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=MVTWnGoI; spf=pass (imf13.hostedemail.com: domain of 33qr4ZwoKCF07C5IBTP5IGBJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--changyuanl.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=33qr4ZwoKCF07C5IBTP5IGBJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--changyuanl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744349919; 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=lv1l1I9z2A9RMTDP3pEjoh98A/jPPW1Y8prl67P6/Ys=; b=sGe4ThKdjrdYjs21vfAAX3WuWujvpovvsY/wp+AP5vVoXuDJ0RA0XwGb0rhjXmHoGoEa/0 NBViucCtEgkGA3RDkxwCo3bN5FZxOoJQRpnbXCRGEWkaaU4kosPwI3f6b+2Xs5//y/9OuP Qyw1X6+sGFOq/7L96ZoWiuOKSEKL/LI= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=MVTWnGoI; spf=pass (imf13.hostedemail.com: domain of 33qr4ZwoKCF07C5IBTP5IGBJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--changyuanl.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=33qr4ZwoKCF07C5IBTP5IGBJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--changyuanl.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744349919; a=rsa-sha256; cv=none; b=bbud6pFZ28XBnaHcRBX6RDjQQdD/zBeFeGhPdBgt9MZ6crun9w6sGhGCASn2wjv1Q6Uaos PCWBDrc9fKsx1Iy63HCAKHyhWZ7HYVlac1LKiklmGABgKMvMX2Sx15TELPq/Iq/OeFmQz/ wGrIzotzOiGKSZBC7g8PfCxlt+kbG50= Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff4b130bb2so1759573a91.0 for ; Thu, 10 Apr 2025 22:38:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1744349918; x=1744954718; 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=lv1l1I9z2A9RMTDP3pEjoh98A/jPPW1Y8prl67P6/Ys=; b=MVTWnGoIWU3ecBGr5p3grdVSiwrlV9iL32P/0ZLBT3tnWvJqYL+rh1x0CqFzbkaY0m xsyzArd8oGFvKg3yCExWAQLY42c1uOGjb+uxPV9MVgiR4ypzgV3KFK2M9tr+N6q6JzHl 3hQGlyMXDdWPoQim/73OZo7CxQg4v8Im22mXhvUpk23be7XKZZJSm0eD74ggenfR5OO5 bxYGaLkMstg189+JXSz6rxPnUOCsy9cr+fn3ltYFiLzROjB5QdNVM31YITf6fQ5/GQYp rA96nzj0Wqt/Sp9dV2b1/uMhIFwCgaIcHfm720tKPU4yD9qupCkYMJSCj2B/K7hLUo9Z JrSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744349918; x=1744954718; 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=lv1l1I9z2A9RMTDP3pEjoh98A/jPPW1Y8prl67P6/Ys=; b=JLeWcTcwYNvY8pbUZmoA/B7elFXDMJ9h/JJ1CDTZJsSBKoXaTyJT7DaLp3Q0V0/AJ4 RaqtRfnhmov2or4x/BTmDd/3ZodR8D3yJbbYqzqo6JjXQQUS2e4jlmOJ+Xj3lBhDiJ6I c1y2A0uGS/2KDSmbZlyBvj1sCcJndMNX2Lzng7vUL+02xCJhgwAAez+bBBLSNgfWGyWW 0U9I2V9H7bGID2fiJZOHfnPnIoefucx75uVnuzjJrEmX3ZPOZvwRBvKRihjTlomYjh8x K5f8ds4bxxjfi832JM3+YCsNhDY5+5gsPPGAVaddbuZ2BShQ1ym2H3vNLEUO6LmKEs2W LqxA== X-Forwarded-Encrypted: i=1; AJvYcCWzKhA2Q9q1Fg3xlcwNTluYm/r3z5GbjQ8G11nOStzXF1YL+XVX4izfaH85x931oYWNT1kvyXEO9Q==@kvack.org X-Gm-Message-State: AOJu0YzTnj+3XIY4TsumpNqqpVMUl+BmM0R3BkH20+G5NGCAgdax1tqz dQtKpP0Tj4a9HL2J4i7SfGLVWFivioKvwqAPUaGFHIkYfdOcpqwZS2KIvfv4xOcDP4YjyGYwLHt Yg+ASAlooaISoSRirpg== X-Google-Smtp-Source: AGHT+IFDqnNrJ1yb2xJtOtea7MkZiHxum/paNcnypq1SzNi+wbhuEeT68KNiC92Vyv1O3vh0BoBg+A6LFRWhbKjQ X-Received: from pjc12.prod.google.com ([2002:a17:90b:2f4c:b0:2f4:465d:5c61]) (user=changyuanl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:274e:b0:2fe:80cb:ac05 with SMTP id 98e67ed59e1d1-3082367024emr2450558a91.9.1744349918309; Thu, 10 Apr 2025 22:38:38 -0700 (PDT) Date: Thu, 10 Apr 2025 22:37:41 -0700 In-Reply-To: <20250411053745.1817356-1-changyuanl@google.com> Mime-Version: 1.0 References: <20250411053745.1817356-1-changyuanl@google.com> X-Mailer: git-send-email 2.49.0.604.gff1f9ca942-goog Message-ID: <20250411053745.1817356-11-changyuanl@google.com> Subject: [PATCH v6 10/14] x86/setup: use memblock_reserve_kern for memory used by kernel From: Changyuan Lyu To: linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, anthony.yznaga@oracle.com, arnd@arndb.de, ashish.kalra@amd.com, benh@kernel.crashing.org, bp@alien8.de, catalin.marinas@arm.com, corbet@lwn.net, dave.hansen@linux.intel.com, devicetree@vger.kernel.org, dwmw2@infradead.org, ebiederm@xmission.com, graf@amazon.com, hpa@zytor.com, jgowans@amazon.com, kexec@lists.infradead.org, krzk@kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, luto@kernel.org, mark.rutland@arm.com, mingo@redhat.com, pasha.tatashin@soleen.com, pbonzini@redhat.com, peterz@infradead.org, ptyadav@amazon.de, robh@kernel.org, rostedt@goodmis.org, rppt@kernel.org, saravanak@google.com, skinsburskii@linux.microsoft.com, tglx@linutronix.de, thomas.lendacky@amd.com, will@kernel.org, x86@kernel.org, Changyuan Lyu X-Rspamd-Queue-Id: 5E94620002 X-Stat-Signature: fo7p1u6yefkeb7zsmib1a9tz11mkotuz X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1744349919-468702 X-HE-Meta: U2FsdGVkX1/3PQMbUM+Uo7pJ8ZcM2HvVBJDnGQ378pg237P4Eq+mrrdsNTJdkvxFBq0uC9xHks2NRvXP/iGA6ML1UdpEF7xlAjCRbpMay7Z/Fhum39Xg3Q5SEptASFMVej2JNT/b9V4EmvC0a4ARHwIegaeVJ9I89W6xfnJzW+gStn1i6slpUNbPCdQkZvp8h6fVZzIl5JaiP9Uw34GpLZPnTTAudJe0OFZ1QCp8MzfONFzfrWuC59F10VqUR5iBUyMt1UOSMy1Alx+X+IykFB/CT1fs+Zex7DfnLAkeLQRVBzDrZcMPwdcrncPCgWBBNlh5vM6KAJw0I+t2UWz6AoHWuQ6nSjrMCx2ZkLFuw6DTFEIvnrmKWbuvycg7ooHHhdi7YZSVS7w6nFonGqnakDs1KlBq/UoUHLu9JJNjLs3GrEBw5FB5OLufnMF0eZHPFEo6SOwSBXM6WZjV8pf6xCpCIXj3CD6eaM7lV1ppyvAF7IIc/mi44qZ6sfE1l4FN9eUa6oWvQ6tLyLkYHXIitwbCrWhXbd0ebgLLhwJii1qdfrSk0Nzn6spH6RIxtA8X4t4HyORA0ppElep7CEqGZ0w4EbH6bfmtp016UH6tU4wOAJZ4Fd2+yzJyjHqHTm2z+JO2CWVke7TfMNrRXPdYY4CROBwgEQwIOgkj5aM128Jx0kCL9YpDCPXxaI9KBIyGTLznPtu71nkGEZ46GrRg7UDE9RvCZAaydCOfxDFJxN/aAgGq37nQ2Gi0WkB6wmUjnR/aHrBrCFFsnkRl+17kWyFg6MulIyOb51f06CXSDnShMenT5zBxjYUYAzELocp7MNHTBj2/ImddiVwWJ1r7kJqMu8SV+PCAY8YKyCHdresoy231QyVskVjiqEmtWoeTV5+0jB9xIgIvzGQogpxKMmnnuXwtig2VZF7ZC54eA4HBup9GgfqV5kVjV2LKGVPUkPrqiwqmHteQMoGAK30 qeAui38U 1kSiqCHtI8PjRnqlkPIJ/dSCYiemH5ye0+inv/U3CkwObRYrg4y9onIKQ0xIsk4jE0tmpfXPb/dB8c5tLSPke4F2BUfd+GBLzjTvehgCgIUCAojXTyi9SG2mLAeZCJTQbH6yqAryWfFiWzMiZwhs83PI+uf2eF/5obRFpDlpuBGyq63S8wXlfGR/4I66A4I35HCDteO2fsVRhFPTpZfTNiXumaB1GnhMd0JQaKEs6K4gMDXaUQ5rRPwJujR5VeV3nsrKf8zFBsk4XRgodGTxuY5Yq0BrMSV692IXzOkzHLMUXYyo1BfbOp8s1FsvswPEfW0AYcfzBtw6PEhUycfl2naOBjTsVotLGU1oUXHozEahKFLtGKhz+F7eCAMjTkBibwzcXuWiJi2prXvt/E3tMNhT5QglL8iM5z3MID3ugtVoYehz8gZMZjb9rOztEE7mqwTvSPazanSSd+HMzSs7rqI7LF9SyYsO0Z37z0PaEfwWBHP+5M/hXrxwCwQv4lIovUS7c8ds1ukyi0dFAaRrtahYDDlq1/GPfrmrhYdd0G+uc8u90CQ5CVc+tx3yiWd4Ci1DGL23SxdFczQUhOrpMwZxzZbjaKXIkOEF/71iFWMyzHJc0jb6E1H3QqWi++s4wHzA3kDII1jGgHpg= 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) Signed-off-by: Changyuan Lyu --- 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 9d2a13b37833c..766176c4f5ee8 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -286,8 +286,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 */ @@ -360,7 +360,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) @@ -413,7 +413,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; } @@ -553,7 +553,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; @@ -567,7 +567,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; @@ -770,8 +770,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