qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Wen Congyang <wencongyang@gmail.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Wen Congyang <wencongyang@gmail.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [Question] dump memory when host pci device is used by guest
Date: Tue, 18 Oct 2011 22:17:21 +0800	[thread overview]
Message-ID: <4E9D8A71.6070805@gmail.com> (raw)
In-Reply-To: <4E9D8544.5070405@siemens.com>

On 10/18/2011 09:55 PM, Jan Kiszka wrote:
> On 2011-10-18 15:51, Wen Congyang wrote:
>> On 10/18/2011 06:28 PM, Jan Kiszka wrote:
>>> On 2011-10-18 11:43, Wen Congyang wrote:
>>>> At 10/18/2011 04:36 PM, Jan Kiszka Write:
>>>>> On 2011-10-18 10:34, Richard W.M. Jones wrote:
>>>>>
>>>>> Yeah, I see. Could also be solved via gdb scripts, but crash is already
>>>>> there.
>>>>>
>>>>> But let's see if the formats actually differ. In the end, crash is just
>>>>> parsing the same information that also gdb sees.
>>>>
>>>> I think the format can be similar with diskdump/kdump/netdump:
>>>>
>>>> dump_header:     1 block
>>>> sub header:      n blocks(n is stored in dump_header)
>>>> bitmap:          m blocks(2m is stored in dump_header)
>>>> dumpable bitmap: m blocks
>>>> memory data(We can know whether a page is stored in the core by bitmap and dumpable bitmap)
>>>>
>>>> The format of dump header(It's like kdump/diskdump):
>>>> struct disk_dump_header {
>>>> 	char			signature[SIG_LEN];	/* = "QEMU    " */
>>>> 	int			header_version; /* Dump header version */
>>>> 	struct new_utsname	utsname;	/* copy of system_utsname */
>>>> 	struct timeval		timestamp;	/* Time stamp */
>>>> 	unsigned int		status;
>>>> 	int			block_size;	/* Size of a block in byte */
>>>> 	int			sub_hdr_size;	/* Size of arch dependent
>>>> 						   header in blocks */
>>>> 	unsigned int		bitmap_blocks;	/* Size of Memory bitmap in
>>>> 						   block */
>>>> 	unsigned int		max_mapnr;	/* = max_mapnr */
>>>> 	unsigned int		total_ram_blocks;/* Number of blocks should be
>>>> 						   written */
>>>> 	unsigned int		device_blocks;	/* Number of total blocks in
>>>> 						 * the dump device */
>>>> 	unsigned int		written_blocks; /* Number of written blocks */
>>>> 	unsigned int		current_cpu;	/* CPU# which handles dump */
>>>> 	int			nr_cpus;	/* Number of CPUs */
>>>> };
>>>>
>>>> The sub header can contains all registers's value on each vcpu, and other information,
>>>> for example:
>>>> struct qemu_sub_header {
>>>> 	unsigned long	start_pfn;
>>>> 	unsigned long	end_pfn;
>>>> 	off_t		offset_note;
>>>> 	unsigned long	size_note;
>>>> };
>>>
>>> So is this a standard format or only "similar" to something? Which tools
>>> will understand it out-of-the-box? If it's not standard, why?
>>
>> Only similar to something, and we can add a little codes into crash to
>> support such format.
>>
>> If you have a better format, please tell me.
>
> The format crash already processes? What do you need in addition? That
> should be discussed first, not the format details.

A way to dump the memory to a file, and crash can analyze it. We always 
use crash
to analyze such file because it is easier than gdb to use.

We can use 'virsh dump' to dump the memory to a file, but 'virsh dump' 
can not
work while host pci device is used by guest(The reason is that 'virsh 
dump' uses
monitor command migrate to dump the memory to a file).

gdbserver is not the way need, because the guest should be restarted 
quickly.

I think introducing a new monitor command(named dump) to do such thing, 
and you
have agreed it in another mail.

I first to try to reuse migration's code, but I meet some problem(I have 
pointed it
out in an early mail today).

You advice me to reuse gdbstub's code, but I think crash can not support 
such format.

And I want to implement it without reusing any other codes in qemu(If 
so, we should determine
the core's format).

I am happy if you have some other ideas.

Thanks
Wen Congyang
>
> Jan
>

  reply	other threads:[~2011-10-18 14:17 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-07  9:46 [Qemu-devel] [Question] dump memory when host pci device is used by guest Wen Congyang
2011-10-07 10:16 ` Jan Kiszka
2011-10-07 12:25   ` Wen Congyang
2011-10-07 12:56     ` Jan Kiszka
2011-10-07 14:05       ` Wen Congyang
2011-10-07 15:06         ` Jan Kiszka
2011-10-10  9:00       ` Daniel P. Berrange
2011-10-08 15:16   ` Richard W.M. Jones
2011-10-09  8:49     ` Jan Kiszka
2011-10-09 10:23       ` Richard W.M. Jones
2011-10-09 10:26         ` Jan Kiszka
2011-10-10  2:21         ` Wen Congyang
2011-10-10  6:52           ` Jan Kiszka
2011-10-10  6:59             ` Wen Congyang
2011-10-10  7:01               ` Jan Kiszka
2011-10-10  7:17                 ` Wen Congyang
2011-10-10  7:22                   ` Jan Kiszka
2011-10-10  7:47                     ` Wen Congyang
2011-10-10  7:48                       ` Jan Kiszka
2011-10-10  8:28                         ` Wen Congyang
2011-10-10  7:08             ` Alexander Graf
2011-10-10  7:10               ` Jan Kiszka
2011-10-10  9:02             ` Daniel P. Berrange
2011-10-10  9:34               ` Jan Kiszka
2011-10-11  2:27                 ` Wen Congyang
2011-10-18  7:15                 ` Wen Congyang
2011-10-18  7:52                   ` Jan Kiszka
2011-10-18  7:58                     ` Wen Congyang
2011-10-18  8:19                       ` Jan Kiszka
2011-10-18  8:25                         ` Wen Congyang
2011-10-18  8:26                           ` Jan Kiszka
2011-10-18  8:31                             ` Wen Congyang
2011-10-18  8:31                               ` Jan Kiszka
2011-10-18  8:34                                 ` Richard W.M. Jones
2011-10-18  8:36                                   ` Jan Kiszka
2011-10-18  8:39                                     ` Jan Kiszka
2011-10-18 10:41                                       ` Paolo Bonzini
2011-10-18 10:42                                         ` Christoph Hellwig
2011-10-18 12:47                                           ` Jan Kiszka
2011-10-18 13:08                                             ` Christoph Hellwig
2011-10-18 13:13                                               ` Jan Kiszka
2011-10-18 10:47                                         ` Jan Kiszka
2011-10-18 13:30                                           ` Richard W.M. Jones
2011-10-18 13:34                                             ` Jan Kiszka
2011-10-18  9:43                                     ` Wen Congyang
2011-10-18 10:28                                       ` Jan Kiszka
2011-10-18 13:51                                         ` Wen Congyang
2011-10-18 13:55                                           ` Jan Kiszka
2011-10-18 14:17                                             ` Wen Congyang [this message]
2011-10-18 14:21                                               ` Jan Kiszka
2011-10-18 15:04                                                 ` Wen Congyang
2011-10-18 15:27                                                   ` Jan Kiszka
2011-10-19  1:23                                                     ` Wen Congyang
2011-10-19  2:04                                 ` KAMEZAWA Hiroyuki
2011-10-19 11:40                                   ` Jan Kiszka
2011-10-20  1:22                                     ` Wen Congyang
2011-10-20  9:41                                       ` Jan Kiszka
2011-10-20 10:03                                         ` Wen Congyang
2011-10-21  7:11                                           ` Jan Kiszka
2011-10-21  7:50                                             ` Wen Congyang
2011-10-21 13:02                                               ` Dave Anderson
2011-10-21 13:16                                                 ` Jan Kiszka
2011-10-21 14:12                                                 ` Richard W.M. Jones
2011-10-24  2:25                                                 ` Wen Congyang
2011-10-24 14:25                                                   ` Dave Anderson
2011-10-24 15:01                                                     ` Avi Kivity
2011-10-24 15:25                                                       ` Dave Anderson
2011-10-24 15:30                                                         ` Avi Kivity
2011-10-24 15:58                                                           ` Dave Anderson
2011-10-25  1:37                                                             ` Wen Congyang
2011-10-25  7:37                                                               ` Jan Kiszka
2011-10-25  8:06                                                           ` Wen Congyang
2011-10-25  8:23                                                             ` Avi Kivity
2011-10-25  8:35                                                               ` Paolo Bonzini
2011-10-25  8:52                                                                 ` Avi Kivity
2011-10-25  8:56                                                                   ` Paolo Bonzini
2011-10-25  9:19                                                                     ` Jan Kiszka
2011-10-25 13:18                                                                 ` Dave Anderson
2011-10-25 13:22                                                                   ` Avi Kivity
2011-10-18  7:58                   ` Daniel P. Berrange
2011-10-18  8:17                     ` Jan Kiszka
2011-10-18  8:25                       ` Jan Kiszka
2011-10-18  8:25                       ` Daniel P. Berrange
2011-10-18  8:30                         ` Jan Kiszka
2011-10-10  9:08           ` Daniel P. Berrange
2011-10-10  9:10             ` Daniel P. Berrange
2011-10-10  9:34               ` Richard W.M. Jones
2011-10-10 10:17                 ` Jan Kiszka
2011-10-10  9:34               ` Jan Kiszka
2011-10-10 10:19                 ` Daniel P. Berrange
2011-10-11  2:20                   ` Wen Congyang
2011-10-11  6:58                     ` Jan Kiszka
2011-10-11  7:13                       ` Wen Congyang
2011-10-10 10:21                 ` Alon Levy
2011-10-10 10:48                   ` Paolo Bonzini
2011-10-10 11:04                     ` Daniel P. Berrange
2011-10-10 11:09                       ` Paolo Bonzini
2011-10-10 12:00                         ` [Qemu-devel] windows crash dump header. was: " Alon Levy
2011-10-10 12:38                           ` Paolo Bonzini
2011-10-10 13:47                             ` Alon Levy

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=4E9D8A71.6070805@gmail.com \
    --to=wencongyang@gmail.com \
    --cc=jan.kiszka@siemens.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).