Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp218470iog; Fri, 17 Jun 2022 02:12:35 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tQmMHKlbLWzlvLKQkEjRRM2Kdj2G2JgOJjWeENoOwIxbD8gF2BnypQBLJReGHhqBD9rjVD X-Received: by 2002:a05:6402:1e8b:b0:41c:59f6:2c26 with SMTP id f11-20020a0564021e8b00b0041c59f62c26mr11265328edf.156.1655457155283; Fri, 17 Jun 2022 02:12:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655457155; cv=none; d=google.com; s=arc-20160816; b=Ai/L8dBfD2x+ZCkso5NFr6Wi8q6RoLmSQNEexZnz0GuyFx89dLX+pJ2DFS4Jco5I+2 IOBes7fLDYRnklef26KLF70RFChTGREdEl8EFSTKbvhMOpIFnRG4pJVEBFDUgrhbLeFm U6V508QJuVQWZfPEYiLkB+4QIq4JxLNyfcqvM86JIlHtqeIilzWpF2J1lq4/GOXfNuDz B11B/CX0cih8jsLJKlyuPoETxUSoRLIXYl+9tUAs9cqdQI5o9lAPCdtH9EH0TNtl6xfY +gzPWzmqS6rTgw+IpQ9OP+FYQl46jRaKVcFa/sFaOkt3RudsDegyHWerJAR2B0tnUG0y y5ZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=hTHK8486lIIQN7NgMgmBqHT4WzEpoAXoz+nMVgMQJgE=; b=y0WFXXu4Km4zs1SjUK8v5dzm+0+DTPzKXHxsTrdln4fVK7bxlDzD9+dvtbEEkZwxfb iWSV80oU/Czp1q8FvzoZW/OUDYjGSEtUPr/YD4U4WimnATPrcQbRW1T8PiE2r3JU9W0Q nFZf/LWErh55s98IHSsy+c1Yg7utn202g75C8g0hZJwh1gztma32+CI/kiuSLEeEYEo5 1Sq+voHUKJ3PCIcUEzAKIClFarPBFcYXNzWGH/QVSXW7Ixn+2IICG4YXEqbkkZzS1E02 IHHtY8Q4VIGrRDKkIJ3euc2urFbs9gwy+VMvEDiz0xFIZliB9/qizvB0zxc5s6V75Nqe +ZSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=bkg17Hgm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ge5-20020a170907908500b0071212f6246dsi1686325ejb.385.2022.06.17.02.12.09; Fri, 17 Jun 2022 02:12:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=bkg17Hgm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1380946AbiFQI0Q (ORCPT + 99 others); Fri, 17 Jun 2022 04:26:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1380922AbiFQI0P (ORCPT ); Fri, 17 Jun 2022 04:26:15 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4E8D668337 for ; Fri, 17 Jun 2022 01:26:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1655454373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hTHK8486lIIQN7NgMgmBqHT4WzEpoAXoz+nMVgMQJgE=; b=bkg17Hgm/Mb48+Yzv0qDrha0bW2n9fJ2VrhTYPYTlYWak6xlIItAUyb0cLbK6iDygaejDq KL5M2kpIBvEPTDwuIseaV9UQ9SIm41WcBVD1M9kZp+y8pFuxWVXgQjkWT/CdtIUlow8SMZ Oi01ruXzv/TPMHCS9HIDvKRCxgfbJTQ= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-463-Oa1fsMubMqqWgbWDxIYN4Q-1; Fri, 17 Jun 2022 04:26:09 -0400 X-MC-Unique: Oa1fsMubMqqWgbWDxIYN4Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C34AC3C10223; Fri, 17 Jun 2022 08:26:08 +0000 (UTC) Received: from localhost (ovpn-12-144.pek2.redhat.com [10.72.12.144]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 43C211415106; Fri, 17 Jun 2022 08:26:07 +0000 (UTC) Date: Fri, 17 Jun 2022 16:26:02 +0800 From: Baoquan He To: Zhen Lei , msalter@redhat.com, ctatman@redhat.com Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H . Peter Anvin" , Eric Biederman , Rob Herring , Frank Rowand , devicetree@vger.kernel.org, Dave Young , Vivek Goyal , kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap , Feng Zhou , Kefeng Wang , Chen Zhou , John Donnelly , Dave Kleikamp Subject: Re: [PATCH 1/5] arm64: kdump: Provide default size when crashkernel=Y,low is not specified Message-ID: <20220617082602.GE234358@MiWiFi-R3L-srv> References: <20220613080932.663-1-thunder.leizhen@huawei.com> <20220613080932.663-2-thunder.leizhen@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220613080932.663-2-thunder.leizhen@huawei.com> X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/13/22 at 04:09pm, Zhen Lei wrote: > To be consistent with the implementation of x86 and improve cross-platform > user experience. Try to allocate at least 256 MiB low memory automatically > when crashkernel=Y,low is not specified. > > Signed-off-by: Zhen Lei > --- > Documentation/admin-guide/kernel-parameters.txt | 8 +------- > arch/arm64/mm/init.c | 12 +++++++++++- > 2 files changed, 12 insertions(+), 8 deletions(-) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index 8090130b544b070..61b179232b68001 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -843,7 +843,7 @@ > available. > It will be ignored if crashkernel=X is specified. > crashkernel=size[KMG],low > - [KNL, X86-64] range under 4G. When crashkernel=X,high > + [KNL, X86-64, ARM64] range under 4G. When crashkernel=X,high > is passed, kernel could allocate physical memory region > above 4G, that cause second kernel crash on system > that require some amount of low memory, e.g. swiotlb > @@ -857,12 +857,6 @@ > It will be ignored when crashkernel=X,high is not used > or memory reserved is below 4G. > > - [KNL, ARM64] range in low memory. > - This one lets the user specify a low range in the > - DMA zone for the crash dump kernel. > - It will be ignored when crashkernel=X,high is not used > - or memory reserved is located in the DMA zones. > - > cryptomgr.notests > [KNL] Disable crypto self-tests > > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c > index 339ee84e5a61a0b..5390f361208ccf7 100644 > --- a/arch/arm64/mm/init.c > +++ b/arch/arm64/mm/init.c > @@ -96,6 +96,14 @@ phys_addr_t __ro_after_init arm64_dma_phys_limit = PHYS_MASK + 1; > #define CRASH_ADDR_LOW_MAX arm64_dma_phys_limit > #define CRASH_ADDR_HIGH_MAX (PHYS_MASK + 1) > > +/* > + * This is an empirical value in x86_64 and taken here directly. Please > + * refer to the code comment in reserve_crashkernel_low() of x86_64 for more > + * details. > + */ > +#define DEFAULT_CRASH_KERNEL_LOW_SIZE \ > + max(swiotlb_size_or_default() + (8UL << 20), 256UL << 20) About this default low value, 256M, I am not sure if it can be lowered down. We have Ampere Mt-Jade systems in Redhat and their biggest contiguous memory is less than 256M under low 4G when the firmware 32bit option is disabled. Obviously this will fail the default crashkernel,low value. I am not sure how common the 32bit option is disabled. If it's an important feature and widely set, it need be taken into consideration when deciding this default crashkernel,low value. Otherwise, the crashkernel=xM won't work in Ampere Mt-Jade system with 32bit option disabled, and people need specify crashkernel=xM,high, crashkernel=yM,low explicitly. The omission of crashkernel,low is also not allowed in the case. Hi, Mark and Christopher, Add you in CC. If you happen to know contact person from Ampere, please also feel free to add them in this thread. Thanks Baoquan > static int __init reserve_crashkernel_low(unsigned long long low_size) > { > unsigned long long low_base; > @@ -147,7 +155,9 @@ static void __init reserve_crashkernel(void) > * is not allowed. > */ > ret = parse_crashkernel_low(cmdline, 0, &crash_low_size, &crash_base); > - if (ret && (ret != -ENOENT)) > + if (ret == -ENOENT) > + crash_low_size = DEFAULT_CRASH_KERNEL_LOW_SIZE; > + else if (ret) > return; > > crash_max = CRASH_ADDR_HIGH_MAX; > -- > 2.25.1 >