[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <653d43ed326e6a3974660c0ca2ad8a847a4ff986.camel@suse.de>
Date: Sat, 26 Dec 2020 11:34:58 +0100
From: Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
To: Chen Zhou <chenzhou10@...wei.com>, catalin.marinas@....com,
will@...nel.org
Cc: ardb@...nel.org, akpm@...ux-foundation.org, rppt@...nel.org,
song.bao.hua@...ilicon.com, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, huawei.libin@...wei.com,
xiexiuqi@...wei.com
Subject: Re: [PATCH 2/2] arm64: mm: fix kdump broken with ZONE_DMA
reintroduced
Hi Chen, thanks for looking at this.
On Sat, 2020-12-26 at 11:35 +0800, Chen Zhou wrote:
> If the memory reserved for crash dump kernel falled in ZONE_DMA32,
> the devices in crash dump kernel need to use ZONE_DMA will alloc fail.
>
> Fix this by reserving low memory in ZONE_DMA if CONFIG_ZONE_DMA is
> enabled, otherwise, reserving in ZONE_DMA32.
>
> Fixes: bff3b04460a8 ("arm64: mm: reserve CMA and crashkernel in ZONE_DMA32")
I'm not so sure this counts as a fix, if someone backports it it'll probably
break things as it depends on the series that dynamically sizes DMA zones.
> Signed-off-by: Chen Zhou <chenzhou10@...wei.com>
> ---
Why not doing the same with CMA? You'll probably have to move the
dma_contiguous_reserve() call into bootmem_init() so as to make sure that
arm64_dma_phys_limit is populated.
Regards,
Nicolas
> arch/arm64/mm/init.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
> index 7b9809e39927..5074e945f1a6 100644
> --- a/arch/arm64/mm/init.c
> +++ b/arch/arm64/mm/init.c
> @@ -85,7 +85,8 @@ static void __init reserve_crashkernel(void)
>
>
> if (crash_base == 0) {
> /* Current arm64 boot protocol requires 2MB alignment */
> - crash_base = memblock_find_in_range(0, arm64_dma32_phys_limit,
> + crash_base = memblock_find_in_range(0,
> + arm64_dma_phys_limit ? : arm64_dma32_phys_limit,
> crash_size, SZ_2M);
> if (crash_base == 0) {
> pr_warn("cannot allocate crashkernel (size:0x%llx)\n",
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists