]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: kdump: Do not allocate crash low memory if not needed
authorZhen Lei <thunder.leizhen@huawei.com>
Wed, 11 May 2022 03:20:32 +0000 (11:20 +0800)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 16 May 2022 19:01:38 +0000 (20:01 +0100)
commit40f6b1e1b9e25042d0b40a043ee45e62303747a1
treee930d61dad13eeb247d83c436110683678b6ec2b
parent6e84af5057b006247f45e185dd830136475978d7
arm64: kdump: Do not allocate crash low memory if not needed

When "crashkernel=X,high" is specified, the specified "crashkernel=Y,low"
memory is not required in the following corner cases:
1. If both CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, it means
   that the devices can access any memory.
2. If the system memory is small, the crash high memory may be allocated
   from the DMA zones. If that happens, there's no need to allocate
   another crash low memory because there's already one.

Add condition '(crash_base >= CRASH_ADDR_LOW_MAX)' to determine whether
the 'high' memory is allocated above DMA zones. Note: when both
CONFIG_ZONE_DMA and CONFIG_ZONE_DMA32 are disabled, the entire physical
memory is DMA accessible, CRASH_ADDR_LOW_MAX equals 'PHYS_MASK + 1'.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Acked-by: Baoquan He <bhe@redhat.com>
Link: https://lore.kernel.org/r/20220511032033.426-1-thunder.leizhen@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Documentation/admin-guide/kernel-parameters.txt
arch/arm64/mm/init.c