On 2020/8/10 14:03, Dave Young wrote: > Hi, > >>> Previously I remember we talked about to use similar logic as X86, but I >>> remember you mentioned on some arm64 platform there could be no low >>> memory at all. Is this not a problem now for the fallback? Just be >>> curious, thanks for the update, for the common part looks good. >> Hi Dave, >> >> Did you mean this discuss: https://lkml.org/lkml/2019/12/27/122? > I meant about this reply instead :) > https://lkml.org/lkml/2020/1/16/616 Hi Dave, Sorry for not repley in time, I was on holiday last week. The platform James mentioned may exist for which have no devices and need no low memory. For our arm64 server platform, there are some devices and need low memory. I got it. For the platform with no low memory, reserving crashkernel will always fail. How about like this: diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index a8e34d97a894..4df18c7ea438 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -147,7 +147,7 @@ static void __init reserve_crashkernel(void) } memblock_reserve(crash_base, crash_size); - if (crash_base >= CRASH_ADDR_LOW_MAX) { + if (memstart_addr < CRASH_ADDR_LOW_MAX && crash_base >= CRASH_ADDR_LOW_MAX) { const char *rename = "Crash kernel (low)"; if (reserve_crashkernel_low()) { Thanks, Chen Zhou > > Thanks > Dave > > > . >