Re: [RFC/RFT PATCH 1/5] s390: make crashk_res resource a child of "System RAM"

From: David Hildenbrand
Date: Tue Jun 01 2021 - 05:02:30 EST


On 01.06.21 10:45, David Hildenbrand wrote:
On 31.05.21 14:29, Mike Rapoport wrote:
From: Mike Rapoport <rppt@xxxxxxxxxxxxx>

Commit 4e042af463f8 ("s390/kexec: fix crash on resize of reserved memory")
added a comment that says "crash kernel resource should not be part of the
System RAM resource" but never explained why. As it looks from the code in
the kernel and in kexec there is no actual reason for that.

Are you sure?

Looking at kexec-tools: kexec/arch/s390/kexec-s390.c

get_memory_ranges_s390() wants "System RAM" and Crash kernel only with
"with_crashk=1". Your patch would change that. "Crash kernel" would
always be included if you make it a child of "System RAM".

Further, get_memory_ranges() and is_crashkernel_mem_reserved() look out
for "Crash kernel\n" via parse_iomem_single().

However, parse_iomem_single() does not care about ranges that start with
spaces IIRC via
sscanf(line, "%llx-%llx : %n" ...

I think I'm wrong about that one because I read

"Input white-space characters (as specified by the isspace function) are skipped, unless the specification includes a [ , c , or n specifier"

So having it as a child won't affect parse_iomem_single().

--
Thanks,

David / dhildenb