kdump: update Documentation about crashkernel

From: Chen Zhou <chenzhou10@huawei.com>
Link: https://lkml.org/lkml/2021/1/30/53
Link: 023deaec32

For arm64, the behavior of crashkernel=X has been changed, which
tries low allocation in DMA zone or DMA32 zone if CONFIG_ZONE_DMA
is disabled, and fall back to high allocation if it fails.

We can also use "crashkernel=X,high" to select a high region above
DMA zone, which also tries to allocate at least 256M low memory in
DMA zone automatically (or the DMA32 zone if CONFIG_ZONE_DMA is disabled).

"crashkernel=Y,low" can be used to allocate specified size low memory.

So update the Documentation.

Signed-off-by: Chen Zhou <chenzhou10@huawei.com>
Tested-by: John Donnelly <John.p.donnelly@oracle.com>
Signed-off-by: Chen Zhou <chenzhou10@huawei.com>
Acked-by: Xie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
Signed-off-by: Kairui Song <kasong@tencent.com>
Reviewed-by: Bin Lai <robinlai@tencent.com>
This commit is contained in:
Kairui Song 2022-06-06 13:53:00 +08:00 committed by Jianping Liu
parent 3fd41ff677
commit fd02a1b5bc
2 changed files with 30 additions and 5 deletions

View File

@ -299,7 +299,16 @@ 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. And go for high allocation
directly if the required size is too large.
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 +325,16 @@ 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 DMA zone (or
DMA32 zone if CONFIG_ZONE_DMA is disabled), and fall back to high
allocation if it fails.
We can also use "crashkernel=X,high" to select a high region above
DMA zone, which also tries to allocate at least 256M low memory in
DMA zone automatically (or the DMA32 zone if CONFIG_ZONE_DMA is disabled).
"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. Note that the start address of the kernel,
X if explicitly specified, must be aligned to 2MiB (0x200000).
Load the Dump-capture Kernel
============================

View File

@ -712,6 +712,9 @@
[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 DMA zone (or DMA32 zone
if CONFIG_ZONE_DMA is disabled), fall back to high allocation
if it fails when '@offset' hasn't been specified.
See Documentation/admin-guide/kdump/kdump.rst for further details.
crashkernel=range1:size1[,range2:size2,...][@offset]
@ -728,6 +731,8 @@
Otherwise memory region will be allocated below 4G, if
available.
It will be ignored if crashkernel=X is specified.
[KNL, arm64] range in high memory.
Allow kernel to allocate physical memory region from top.
crashkernel=size[KMG],low
[KNL, x86_64] range under 4G. When crashkernel=X,high
is passed, kernel could allocate physical memory region
@ -736,13 +741,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 in low memory.
This one let user to specify a low range in DMA zone for
crash dump kernel (or the DMA32 zone if CONFIG_ZONE_DMA
is disabled).
cryptomgr.notests
[KNL] Disable crypto self-tests