Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp783923pxa; Sat, 1 Aug 2020 06:06:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxaP0djuiVWYpqM8XIC9tArUp4n6Qf6lvr9i9sLrpcPrFIaRfmPZZZJTLnmR1bv1ApCFK+Q X-Received: by 2002:a17:906:9385:: with SMTP id l5mr4716734ejx.144.1596287210788; Sat, 01 Aug 2020 06:06:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596287210; cv=none; d=google.com; s=arc-20160816; b=hX87IfRNng1vgNKrPBMm1drWNP999Egjo7749X33ys8svnqdJOPPcOueDz096+VB+E DhXDh+mf8hNdHLx0nDXhCNCp/PT8QgMR8M/GeAJyXX5bUWQuDb6z3v6DnM0J8DvgsWpM lkQavk9R7GLMNHA8PPVeO2lrybTMI4/JGMktElXof9+Fvfu/Qt90/HwbpGmoMNVcwF95 z7IM01F/QvX+4H/KtdFy/HU4PSpW/N/UaqzOpNzRuwHN30asSEvkzWGxNj0XtEqTBE9H OlJ4e/4PfycZRUiJT4/DzieDK3rTpzGnVHsYBVgbA2MaOMvDUrMew8Vhxv2lCEs9beXJ /73Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=WXF89715kX6wX0U6Xp2fdjHzXqhTrKaYrb5AHvPVv3c=; b=ecA4/ecK59wB1sBgeneHcz6wqPwpnqWYMizwV6sSt3q64Ltzvb9hQIa4eQp3wHWFdo iqYmdrXTohNHPDIeeHcuheD2Fv4EPqq5x+OFLlzQiiaqamHbuW9dtJ18xltbBAJKezld lwMJsZgBcvpjvLqIgcT9ednKXX1jZToIhqCdaTsEU6dmGgKu4GjztrxxAsIiC6v3EOY2 Poj8bnTWkxzbM3SidejTLD9XOULIwlohW39oBsWmTTeywizzCDKicux8l9p2ZXkHrYNA QzKTyaucp3QD1qed6LN2t9BppE5T3YXEqD5osp7o9tW4lHsCvN6AgjDFtTLmsERMm4Mq 5gBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bi3si7509413edb.391.2020.08.01.06.06.28; Sat, 01 Aug 2020 06:06:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729072AbgHANGP (ORCPT + 99 others); Sat, 1 Aug 2020 09:06:15 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:8749 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728885AbgHANGN (ORCPT ); Sat, 1 Aug 2020 09:06:13 -0400 Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 38DDE30E8C6C18A4BF95; Sat, 1 Aug 2020 21:06:10 +0800 (CST) Received: from localhost.localdomain.localdomain (10.175.113.25) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.487.0; Sat, 1 Aug 2020 21:06:01 +0800 From: Chen Zhou To: , , , , , , , , , , CC: , , , , , , , , , , , , Subject: [PATCH v11 5/5] kdump: update Documentation about crashkernel Date: Sat, 1 Aug 2020 21:08:56 +0800 Message-ID: <20200801130856.86625-6-chenzhou10@huawei.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200801130856.86625-1-chenzhou10@huawei.com> References: <20200801130856.86625-1-chenzhou10@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.113.25] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now the behavior of crashkernel=X has been changed, which tries low allocation in ZONE_DMA, and fall back to high allocation if it fails. If requized size X is too large and leads to very little free memory in ZONE_DMA after low allocation, the system may not work well. So add a threshold and go for high allocation directly if the required size is too large. The threshold is set as the half of low memory. If crash_base is outside ZONE_DMA, try to allocate at least 256M in ZONE_DMA automatically. "crashkernel=Y,low" can be used to allocate specified size low memory. For non-RPi4 platforms, change ZONE_DMA memtioned above to ZONE_DMA32. So update the Documentation. Signed-off-by: Chen Zhou --- Documentation/admin-guide/kdump/kdump.rst | 21 ++++++++++++++++--- .../admin-guide/kernel-parameters.txt | 11 ++++++++-- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/Documentation/admin-guide/kdump/kdump.rst b/Documentation/admin-guide/kdump/kdump.rst index 2da65fef2a1c..4b58f97351d5 100644 --- a/Documentation/admin-guide/kdump/kdump.rst +++ b/Documentation/admin-guide/kdump/kdump.rst @@ -299,7 +299,15 @@ Boot into System Kernel "crashkernel=64M@16M" tells the system kernel to reserve 64 MB of memory starting at physical address 0x01000000 (16MB) for the dump-capture kernel. - On x86 and x86_64, use "crashkernel=64M@16M". + On x86 use "crashkernel=64M@16M". + + On x86_64, use "crashkernel=X" to select a region under 4G first, and + fall back to reserve region above 4G. + We can also use "crashkernel=X,high" to select a region above 4G, which + also tries to allocate at least 256M below 4G automatically and + "crashkernel=Y,low" can be used to allocate specified size low memory. + Use "crashkernel=Y@X" if you really have to reserve memory from specified + start address X. On ppc64, use "crashkernel=128M@32M". @@ -316,8 +324,15 @@ Boot into System Kernel kernel will automatically locate the crash kernel image within the first 512MB of RAM if X is not given. - On arm64, use "crashkernel=Y[@X]". Note that the start address of - the kernel, X if explicitly specified, must be aligned to 2MiB (0x200000). + On arm64, use "crashkernel=X" to try low allocation in ZONE_DMA, and + fall back to high allocation if it fails. And go for high allocation + directly if the required size is too large. If crash_base is outside + ZONE_DMA, try to allocate at least 256M in ZONE_DMA automatically. + "crashkernel=Y,low" can be used to allocate specified size low memory. + For non-RPi4 platforms, change ZONE_DMA memtioned above to ZONE_DMA32. + Use "crashkernel=Y@X" if you really have to reserve memory from + specified start address X. Note that the start address of the kernel, + X if explicitly specified, must be aligned to 2MiB (0x200000). Load the Dump-capture Kernel ============================ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index fb95fad81c79..d1b6016850d6 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -722,6 +722,10 @@ [KNL, x86_64] select a region under 4G first, and fall back to reserve region above 4G when '@offset' hasn't been specified. + [KNL, arm64] Try low allocation in ZONE_DMA, fall back + to high allocation if it fails when '@offset' hasn't been + specified. For non-RPi4 platforms, change ZONE_DMA to + ZONE_DMA32. See Documentation/admin-guide/kdump/kdump.rst for further details. crashkernel=range1:size1[,range2:size2,...][@offset] @@ -746,13 +750,16 @@ requires at least 64M+32K low memory, also enough extra low memory is needed to make sure DMA buffers for 32-bit devices won't run out. Kernel would try to allocate at - at least 256M below 4G automatically. + least 256M below 4G automatically. This one let user to specify own low range under 4G for second kernel instead. 0: to disable low allocation. It will be ignored when crashkernel=X,high is not used or memory reserved is below 4G. - + [KNL, arm64] range under 4G. + This one let user to specify a low range in ZONE_DMA for + crash dump kernel. For non-RPi4 platforms, change ZONE_DMA + to ZONE_DMA32. cryptomgr.notests [KNL] Disable crypto self-tests -- 2.20.1