Re: [patch 0/9] kdump: Patch series for s390 support

Michael Holzheu
2011-07-18T18:03:36Z

Hello Vivek,

On Mon, 2011-07-18 at 11:25 -0400, Vivek Goyal wrote:
> On Mon, Jul 18, 2011 at 04:44:13PM +0200, Michael Holzheu wrote:
> > On Mon, 2011-07-18 at 10:19 -0400, Vivek Goyal wrote:
> > > - Make sure these headers are not overwritten by newly booted kernel.
> >
> > And that was my question: What is the best way to do that. E.g. we could
> > pass a 2nd kernel parameter "elfcorehdr_size", implement s390 boot
> > parameter or implement the memmap kernel parameter.
>
> You could do that but I think a more generic parameter will make more
> sense.
>
> - Either something along the lines of memmap=
> - Or excludemem=x@y
> - Or modify memory map in s390 specific bootloading protocol block etc.

Ok, understood. Thanks for the information.

We still have discussions here, if we could somehow implement our
original idea of triggering kdump by the stand-alone dump tools. Sorry
for being so stubborn :-(

So here comes the modified suggestion:

As requested by you we can pre-allocate the ELF header and use purgatory
as done on other architectures.

To allow the stand-alone dump tools as kdump triggers, we then only
would have to provide an s390 specific way to tell the stand-alone dump
tools:
1. Entry point address into purgatory
2. Address, size and checksum for purgatory

We could store address, size and checksum of the purgatory to a fixed
offset in the kdump kernel image. This can be done in the kexec tools
code. Then the dump tools only would need the crashkernel memory offset
to find all information. Then dump tools will verify purgatory and
afterwards jump to the purgatory code. Then purgatory verifies all kexec
segments. For s390, if this check fails, we return to caller
(stand-alone tools). If the check is ok, then purgatory code on s390
saves all registers to the preallocated ELF notes and starts kdump.

I think, this is all s390 specific and IMHO will not affect other
architectures at all.

What you as kdump framework maintainer would have to accept with this
solution is that it is allowed now to start kdump directly via purgatory
without using code from the old kernel (e.g. crash_kexec). This has as
implication that all things that the old kernel has to initialize for
kdump has to be done before the system crashes. Currently this is only
the initialization of vmcoreinfo.

Would such a solution be acceptable for you?

Michael