[patch 1/2] kdump: Initialize vmcoreinfo note at startup
Andrew Morton
akpm at google.com
Tue Sep 20 18:59:12 EDT 2011
On Tue, 20 Sep 2011 16:34:01 +0200
Michael Holzheu <holzheu at linux.vnet.ibm.com> wrote:
> From: Michael Holzheu <holzheu at linux.vnet.ibm.com>
>
> Currently the vmcoreinfo note is only initialized in case of kdump. On s390
> it is possible to create kernel dumps with other dump mechanisms than kdump
> (e.g. via hypervisor dump or stand-alone dump tools). For those dumps it
> would also be desirable to include the vmcoreinfo data. To accomplish this,
> with this patch the vmcoreinfo ELF note is always initialized, not only in
> case of a (kdump) crash. On s390 we will add an ABI defined pointer at
> a well known address to vmcoreinfo so that dump analysis tools are able to
> find this information.
>
> In particular on s390 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 the 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.
>
> 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
>
> ...
>
> -void crash_save_vmcoreinfo(void)
> +static void update_vmcoreinfo_note(void)
> {
> - u32 *buf;
> + u32 *buf = (u32 *) vmcoreinfo_note;
The cast is unneeded?
> if (!vmcoreinfo_size)
> return;
> -
> - vmcoreinfo_append_str("CRASHTIME=%ld", get_seconds());
> -
> - buf = (u32 *)vmcoreinfo_note;
As was the space you added after it ;)
> buf = append_elf_note(buf, VMCOREINFO_NOTE_NAME, 0, vmcoreinfo_data,
> vmcoreinfo_size);
> -
> final_note(buf);
> }
More information about the kexec
mailing list