Re: [PATCH 0/4] Export offsets of VMCS fields as note informationfor kdump

From: Avi Kivity
Date: Wed Apr 11 2012 - 07:15:36 EST


On 04/11/2012 01:12 PM, zhangyanfei wrote:
> >
> >> TODO:
> >> 1. In kexec-tools, get VMCSINFO via sysfs and dump it as note information
> >> into vmcore.
> >> 2. Dump VMCS region of each guest vcpu and VMCSINFO into qemu-process
> >> core file. To do this, we will modify kernel core dumper, gdb gcore
> >> and crash gcore.
> >
> >
> > Seems excessive. Why do you want vmcs information in qemu cores? A
> > qemu crash is very rarely related to kvm, let alone the vmcs. I
> > understand that you may want it in a kernel core dump, though I've never
> > needed to myself. Can you outline a case where this data was needed?
> >
>
> If a qemu process comes to a fatal error that causes itself to be core dumped
> by kernel, the running guest based on the qemu process will be included in that
> qemu core file. But with no vmcsinfo information in qemu core file, we could not
> get the guest's states(registers' values), then we could not make a complete
> guest vmcore.

We can't anyway. Many registers (GPRs except RSP, fpu) are not stored
in the VMCS, but in kvm data structures.

So for this case we'd want a kvm callback to execute (that would make it
work cross vendor, too).

>
> >> 3. Dump guest image from the qemu-process core file into a vmcore.
> >
> > For this perhaps a different approach is better - modify the core dumper
> > to call kvm to extract the relevant vmcs information into an elf note.
> > This way there is no need to reconstruct the guest data from the
> > offsets. It's also more reliable, since vmread can access cached fields
> > that direct memory access cannot.
> >
>
> Does this approach is a replacement for TODO 2 ? That is to say, when generating
> a qemu core by kernel core dumper, we could call kvm to extract the relevant vmcs
> information into an elf note instead of VMCSINFO and the whole vmcs regions.

Yes. I'm not convinced it's important though.

--
error compiling committee.c: too many arguments to function

--
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/