Re: [patch 1/2] kdump: Initialize vmcoreinfo note at startup

From: Michael Holzheu
Date: Tue Sep 20 2011 - 05:04:18 EST


Hello Vivek,

On Mon, 2011-09-19 at 14:36 -0400, Vivek Goyal wrote:
> On Fri, Sep 16, 2011 at 10:21:17AM +0200, Michael Holzheu wrote:
> > > Curious that how these two dump schemes make use vmcoreinfo data?
> >
> > We have a tool named zgetdump. With this tool it is possible to convert
> > dump formats on the fly using fuse. E.g. you can mount a s390
> > stand-alone dump as ELF dump. When this is done, the tool finds the
> > vmcoreinfo in the stand-alone dump via our well known ABI defined
> > address and it creates the respective VMCOREINFO ELF note in the output
> > ELF dump. This then can be used e.g. by makedumpfile for dump filtering.
> > No more need for a vmlinux file with debug information.
>
> Ok, so you basically need it so that makedumpfile can do filtering without
> debug info.
>
> Well, if zgetdump is doing everything and you are stashing away an arch
> specific pointer, I guss you could have saved pointer directly to
> vmcoreinfo_data and then zgetdump could have made an ELF note out of it
> for use of makedumpfile.

Yes that would also be an option. But still you have to initialize the
data at startup.

> But anyway, having kernel exported the note does not harm.

Correct.

> > So this will look like the following:
> >
> > # zgetdump --mount standalone.dump -f elf /mnt
> > # ls /mnt
> > # dump.elf
> > # readelf -n /mnt/dump.elf
> > # ...
> > VMCOREINFO 0x00000474 Unknown note type: (0x00000000)
> > # makedumpfile -c -d 31 /mnt/dump.elf dump.kdump
>
> If you can do this easily, then you really did not need kdump in kernel?
> Just use stand alone dump to take dump and then do this to filter dump.

For large systems we still need kdump to do the the filtering while
dumping. Currently with stand-alone dump tools we first have to dump all
the memory (which takes a long time) and afterwards do the filtering.

And with kdump we just can reuse all the installer stuff that is already
available.

> But what happens to ELF headers which map kernel virtual address to
> physical addresses? kexec-tools prepares those. So in this case when
> you are capturing the dump, who prepares those? IOW, how does zgetdump
> creates a mapping between kernel virtual and physical addresses?

On s390 we have a 1:1 mapping for the kernel. For the ELF header loads
created by zgetdump virtual=real.

I hope this answers your questions.

So do you agree now with the patch and give us your ACK?

Thanks
Michael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/