All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: zhangyanfei <zhangyanfei@cn.fujitsu.com>
Cc: dzickus@redhat.com, luto@mit.edu, gregkh@suse.de,
	kvm@vger.kernel.org, joerg.roedel@amd.com, mtosatti@redhat.com,
	kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	paul.gortmaker@windriver.com, ludwig.nussel@suse.de,
	ebiederm@xmission.com
Subject: Re: [PATCH 0/4] Export offsets of VMCS fields as note information for kdump
Date: Wed, 11 Apr 2012 14:15:23 +0300	[thread overview]
Message-ID: <4F8567CB.9000005@redhat.com> (raw)
In-Reply-To: <4F855903.3070703@cn.fujitsu.com>

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


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi@redhat.com>
To: zhangyanfei <zhangyanfei@cn.fujitsu.com>
Cc: mtosatti@redhat.com, ebiederm@xmission.com, luto@mit.edu,
	joerg.roedel@amd.com, dzickus@redhat.com,
	paul.gortmaker@windriver.com, gregkh@suse.de,
	ludwig.nussel@suse.de, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, kexec@lists.infradead.org
Subject: Re: [PATCH 0/4] Export offsets of VMCS fields as note information for kdump
Date: Wed, 11 Apr 2012 14:15:23 +0300	[thread overview]
Message-ID: <4F8567CB.9000005@redhat.com> (raw)
In-Reply-To: <4F855903.3070703@cn.fujitsu.com>

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


  reply	other threads:[~2012-04-11 11:15 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11  1:39 [PATCH 0/4] Export offsets of VMCS fields as note information for kdump zhangyanfei
2012-04-11  1:39 ` zhangyanfei
2012-04-11  1:49 ` [PATCH 1/4] x86: Add helper variables and functions to hold VMCSINFO zhangyanfei
2012-04-11  1:49   ` zhangyanfei
2012-04-11  1:50 ` [PATCH 2/4] KVM: VMX: Add functions to fill VMCSINFO zhangyanfei
2012-04-11  1:50   ` zhangyanfei
2012-04-11  8:48   ` Avi Kivity
2012-04-11  8:48     ` Avi Kivity
2012-04-11  8:48     ` Avi Kivity
2012-04-11 10:34     ` zhangyanfei
2012-04-11 10:34       ` zhangyanfei
2012-04-11 10:34       ` zhangyanfei
2012-04-11 11:41       ` Avi Kivity
2012-04-11 11:41         ` Avi Kivity
2012-04-11 11:41         ` Avi Kivity
2012-04-11  1:57 ` [PATCH 3/4] ksysfs: export VMCSINFO via sysfs zhangyanfei
2012-04-11  1:57   ` zhangyanfei
2012-04-11  1:57   ` zhangyanfei
2012-04-12 23:00   ` Greg KH
2012-04-12 23:00     ` Greg KH
2012-04-12 23:00     ` Greg KH
2012-04-17  1:52     ` zhangyanfei
2012-04-17  1:52       ` zhangyanfei
2012-04-17  2:30       ` Greg KH
2012-04-17  2:30         ` Greg KH
2012-04-11  1:58 ` [PATCH 4/4] kexec: Add crash_save_vmcsinfo to update VMCSINFO zhangyanfei
2012-04-11  1:58   ` zhangyanfei
2012-04-11  1:58   ` zhangyanfei
2012-04-11  8:56 ` [PATCH 0/4] Export offsets of VMCS fields as note information for kdump Avi Kivity
2012-04-11  8:56   ` Avi Kivity
2012-04-11 10:12   ` zhangyanfei
2012-04-11 10:12     ` zhangyanfei
2012-04-11 10:12     ` zhangyanfei
2012-04-11 11:15     ` Avi Kivity [this message]
2012-04-11 11:15       ` Avi Kivity
2012-04-11 10:21 ` Joerg Roedel
2012-04-11 10:21   ` Joerg Roedel
2012-04-11 10:21   ` Joerg Roedel
2012-04-11 10:49   ` Avi Kivity
2012-04-11 10:49     ` Avi Kivity
2012-04-11 10:49     ` Avi Kivity
2012-04-11 10:59   ` zhangyanfei
2012-04-11 10:59     ` zhangyanfei
2012-04-11 10:59     ` zhangyanfei
2012-04-17  7:44 ` Avi Kivity
2012-04-17  7:44   ` Avi Kivity
2012-04-17  7:44   ` Avi Kivity
2012-04-17 10:51   ` zhangyanfei
2012-04-17 10:51     ` zhangyanfei
2012-04-17 10:51     ` zhangyanfei
2012-04-17 10:59     ` Avi Kivity
2012-04-17 10:59       ` Avi Kivity
2012-04-17 10:59       ` Avi Kivity
2012-04-17 11:25       ` Wen Congyang
2012-04-17 11:25         ` Wen Congyang
2012-04-17 11:25         ` Wen Congyang
2012-04-17 13:04         ` Avi Kivity
2012-04-17 13:04           ` Avi Kivity
2012-04-17 13:04           ` Avi Kivity
2012-04-18  7:30       ` zhangyanfei
2012-04-18  7:30         ` zhangyanfei
2012-04-18  7:30         ` zhangyanfei
2012-04-18  8:24         ` Avi Kivity
2012-04-18  8:24           ` Avi Kivity
2012-04-18  8:24           ` Avi Kivity
2012-04-18  9:49           ` zhangyanfei
2012-04-18  9:49             ` zhangyanfei
2012-04-18  9:49             ` zhangyanfei
2012-04-18 11:56             ` Avi Kivity
2012-04-18 11:56               ` Avi Kivity
2012-04-18 11:56               ` Avi Kivity
2012-04-19 10:36               ` HATAYAMA Daisuke
2012-04-19 10:36                 ` HATAYAMA Daisuke
2012-04-19 10:36                 ` HATAYAMA Daisuke
2012-04-19 10:42                 ` Avi Kivity
2012-04-19 10:42                   ` Avi Kivity
2012-04-19 10:42                   ` Avi Kivity
2012-04-19 11:27                   ` HATAYAMA Daisuke
2012-04-19 11:27                     ` HATAYAMA Daisuke
2012-04-19 11:27                     ` HATAYAMA Daisuke
2012-04-19 11:31                     ` Avi Kivity
2012-04-19 11:31                       ` Avi Kivity
2012-04-19 11:31                       ` Avi Kivity
2012-04-19 12:01                       ` HATAYAMA Daisuke
2012-04-19 12:01                         ` HATAYAMA Daisuke
2012-04-19 12:01                         ` HATAYAMA Daisuke
2012-04-19 12:08                         ` Avi Kivity
2012-04-19 12:08                           ` Avi Kivity
2012-04-19 12:08                           ` Avi Kivity
2012-04-20 10:11                           ` HATAYAMA Daisuke
2012-04-20 10:11                             ` HATAYAMA Daisuke
2012-04-20 10:11                             ` HATAYAMA Daisuke
2012-04-22  9:58                             ` Avi Kivity
2012-04-22  9:58                               ` Avi Kivity
2012-04-22 10:33                               ` Gleb Natapov
2012-04-22 10:33                                 ` Gleb Natapov
2012-04-22 10:33                                 ` Gleb Natapov
2012-04-22 10:57                                 ` Avi Kivity
2012-04-22 10:57                                   ` Avi Kivity
2012-04-22 10:57                                   ` Avi Kivity
2012-04-17 16:49   ` Anthony Liguori
2012-04-18 12:13     ` Avi Kivity
2012-04-18 12:13       ` Avi Kivity
2012-04-18 12:13       ` Avi Kivity
2012-04-18 13:47       ` Nadav Har'El
2012-04-18 13:47         ` Nadav Har'El
2012-04-18 14:06         ` Avi Kivity
2012-04-18 14:06           ` Avi Kivity
2012-04-18 14:06           ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F8567CB.9000005@redhat.com \
    --to=avi@redhat.com \
    --cc=dzickus@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=gregkh@suse.de \
    --cc=joerg.roedel@amd.com \
    --cc=kexec@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ludwig.nussel@suse.de \
    --cc=luto@mit.edu \
    --cc=mtosatti@redhat.com \
    --cc=paul.gortmaker@windriver.com \
    --cc=zhangyanfei@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.