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 X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E548C47080 for ; Mon, 31 May 2021 12:31:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 879036135C for ; Mon, 31 May 2021 12:31:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 879036135C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 28A558E0001; Mon, 31 May 2021 08:31:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 261206B007B; Mon, 31 May 2021 08:31:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0DAE08E0001; Mon, 31 May 2021 08:31:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0249.hostedemail.com [216.40.44.249]) by kanga.kvack.org (Postfix) with ESMTP id D22796B0078 for ; Mon, 31 May 2021 08:31:15 -0400 (EDT) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 6DB82181AEF31 for ; Mon, 31 May 2021 12:31:15 +0000 (UTC) X-FDA: 78201461310.29.8A7C764 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf10.hostedemail.com (Postfix) with ESMTP id 48B184202A17 for ; Mon, 31 May 2021 12:31:04 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 4C69E61263; Mon, 31 May 2021 12:31:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1622464274; bh=nYK9qBjercVj0g6Vv+NGsdd2DIuSrcvW+FH79tlPIOs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MlpI4+NBfpcRnUk2p9WdM+R+zCDdFBYfVK+3zwnxxQnmFLWqhxlf5Ho6ge/LWzGVb nZ+AnwUem6PB9mQd6Ze8IALrEJEGGMv74QJYt4ipJN/ZK1nVluMLJTnuuwRWj0PArE HQmd6+FDICPHAUZXJ6959+GgXcrfWdc2Hu9pNC5bP29gF2+/QrM6LzjGurbQuBA76P 1nYK5fZyzlfvijqrcdJHQ0dhWYS9C/2Nf5Nv/z4Y6OTYCZuSEFsvXnyegEUJ0g75DY EGGCul/YwrA6HnurFvtxliCuVYhV9+tyqSLHbWwi4AszS83kbrLDUwl7K7YLqJvsdI CAHIGrtRqU2YQ== From: Mike Rapoport To: linux-kernel@vger.kernel.org Cc: Andrew Morton , Catalin Marinas , Christian Borntraeger , David Hildenbrand , Heiko Carstens , Mike Rapoport , Mike Rapoport , Russell King , Thomas Bogendoerfer , Vasily Gorbik , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org Subject: [RFC/RFT PATCH 1/5] s390: make crashk_res resource a child of "System RAM" Date: Mon, 31 May 2021 15:29:55 +0300 Message-Id: <20210531122959.23499-2-rppt@kernel.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20210531122959.23499-1-rppt@kernel.org> References: <20210531122959.23499-1-rppt@kernel.org> MIME-Version: 1.0 Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=MlpI4+NB; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of rppt@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=rppt@kernel.org X-Stat-Signature: hureyy4ramb8sa8ybisaq4x3waq9warb X-Rspamd-Queue-Id: 48B184202A17 X-Rspamd-Server: rspam02 X-HE-Tag: 1622464264-533623 Content-Transfer-Encoding: quoted-printable 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: From: Mike Rapoport Commit 4e042af463f8 ("s390/kexec: fix crash on resize of reserved memory"= ) added a comment that says "crash kernel resource should not be part of th= e System RAM resource" but never explained why. As it looks from the code i= n the kernel and in kexec there is no actual reason for that. Keeping crashk_res inline with other resources makes code simpler and cleaner, and allows future consolidation of the resources setup across several architectures. Signed-off-by: Mike Rapoport --- arch/s390/kernel/setup.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 5aab59ad5688..30430e7c1b03 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -500,6 +500,9 @@ static struct resource __initdata *standard_resources= [] =3D { &code_resource, &data_resource, &bss_resource, +#ifdef CONFIG_CRASH_DUMP + &crashk_res, +#endif }; =20 static void __init setup_resources(void) @@ -535,7 +538,7 @@ static void __init setup_resources(void) =20 for (j =3D 0; j < ARRAY_SIZE(standard_resources); j++) { std_res =3D standard_resources[j]; - if (std_res->start < res->start || + if (!std_res->end || std_res->start < res->start || std_res->start > res->end) continue; if (std_res->end > res->end) { @@ -552,20 +555,6 @@ static void __init setup_resources(void) } } } -#ifdef CONFIG_CRASH_DUMP - /* - * Re-add removed crash kernel memory as reserved memory. This makes - * sure it will be mapped with the identity mapping and struct pages - * will be created, so it can be resized later on. - * However add it later since the crash kernel resource should not be - * part of the System RAM resource. - */ - if (crashk_res.end) { - memblock_add_node(crashk_res.start, resource_size(&crashk_res), 0); - memblock_reserve(crashk_res.start, resource_size(&crashk_res)); - insert_resource(&iomem_resource, &crashk_res); - } -#endif } =20 static void __init setup_ident_map_size(void) @@ -733,7 +722,7 @@ static void __init reserve_crashkernel(void) diag10_range(PFN_DOWN(crash_base), PFN_DOWN(crash_size)); crashk_res.start =3D crash_base; crashk_res.end =3D crash_base + crash_size - 1; - memblock_remove(crash_base, crash_size); + memblock_reserve(crash_base, crash_size); pr_info("Reserving %lluMB of memory at %lluMB " "for crashkernel (System RAM: %luMB)\n", crash_size >> 20, crash_base >> 20, --=20 2.28.0