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

From: Mike Rapoport
Date: Wed Jun 02 2021 - 02:26:09 EST


On Tue, Jun 01, 2021 at 11:02:17AM +0200, David Hildenbrand wrote:
> 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().

Yes, this was my understanding as well.

--
Sincerely yours,
Mike.