All of lore.kernel.org
 help / color / mirror / Atom feed
From: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
To: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/9] Make monitor command 'dump-guest-memory' dump in kdump-compressed format
Date: Wed, 08 May 2013 18:03:54 +0900	[thread overview]
Message-ID: <518A14FA.1040307@jp.fujitsu.com> (raw)
In-Reply-To: <1367911007-13990-1-git-send-email-qiaonuohan@cn.fujitsu.com>


Please add CC list to Kumagai-san, makedumpfile maintainer, and Dave
Anderson in order to let them know this development.

(2013/05/07 16:16), Qiao Nuohan wrote:
> Hi, all
> 
> Command 'dump-guest-memory' was introduced to dump guest's memory. But the
> vmcore's format is only elf32 or elf64. The message is here:
> http://lists.gnu.org/archive/html/qemu-devel/2012-04/msg03379.html
> 
> These patches are used to make 'dump-guest-memory' be able to dump guest's
> memory in kdump-compressed format. Then vmcore can be much smaller, and
> easily be delivered.
> 

It should be stressed here that compression feature is *regression*.

> Note, similar to 'dump-guest-memory':
> 1. The guest should be x86 or x86_64. The other arch is not supported now.
> 2. If the OS is in the second kernel, gdb may not work well, and crash can
>     work by specifying '--machdep phys_addr=xxx' in the command line. The
>     reason is that the second kernel will update the page table, and we can
>     not get the page table for the first kernel.
> 3. The cpu's state is stored in QEMU note.
> 4. The vmcore are able to be compressed with zlib, lzo or snappy. zlib is
>     available by default, and option '--enable-lzo' or '--enable-snappy'
>     should be used with configure to make lzo or snappy available.
> 
>    the kdump-compressed format is:

Rather than detail of format, qemu people should want to know more
general information about kdump-compressed format. They should think
"What this format?" now. At least the following is needed: the
kdump-compressed format is *linux specific* *linux standard* crash dump
format used in kdump framework.

>                                                 File offset
>    +------------------------------------------+ 0x0
>    |    main header (struct disk_dump_header) |
>    |------------------------------------------+ block 1
>    |    sub header (struct kdump_sub_header)  |
>    |------------------------------------------+ block 2
>    |            1st-dump_bitmap               |
>    |------------------------------------------+ block 2 + X blocks
>    |            2nd-dump_bitmap               | (aligned by block)
>    |------------------------------------------+ block 2 + 2 * X blocks
>    |  page desc for pfn 0 (struct page_desc)  | (aligned by block)
>    |  page desc for pfn 1 (struct page_desc)  |
>    |                    :                     |
>    |  page desc for pfn Z (struct page_desc)  |
>    |------------------------------------------| (not aligned by block)
>    |         page data (pfn 0)                |
>    |         page data (pfn 1)                |
>    |                        :                 |
>    |         page data (pfn Z)                |
>    +------------------------------------------+ offset_eraseinfo
>    |                    :                     |
>    +------------------------------------------+

Layout itself is important information. Not only describing this here,
it's better to put it anywhere of source code or point at IMPLEMENTATION
file in makedumpfile which describes orignal spec.

-- 
Thanks.
HATAYAMA, Daisuke

      parent reply	other threads:[~2013-05-08  9:05 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-07  7:16 [Qemu-devel] [PATCH 0/9] Make monitor command 'dump-guest-memory' dump in kdump-compressed format Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 1/9] Add API to manipulate dump_bitmap Qiao Nuohan
2013-05-07 16:14   ` Eric Blake
2013-05-07 16:23     ` Daniel P. Berrange
2013-05-08  8:39     ` qiaonuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 2/9] Add API to manipulate cache_data Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 3/9] Move include and struct definition to dump.h Qiao Nuohan
2013-05-11 13:36   ` Andreas Färber
2013-05-07  7:16 ` [Qemu-devel] [PATCH 4/9] Add API to create header of vmcore Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 5/9] Add API to create data of dump bitmap Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 6/9] Add API to create page Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 7/9] Add API to free buf used by creating header, bitmap and page Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 8/9] Add API to write header, bitmap and page into vmcore Qiao Nuohan
2013-05-07  7:16 ` [Qemu-devel] [PATCH 9/9] Make monitor command 'dump-guest-memory' dump in kdump-compressed format Qiao Nuohan
2013-05-07 17:13   ` Eric Blake
2013-05-08  8:50     ` qiaonuohan
2013-05-08 17:16       ` Eric Blake
2013-05-09  5:27         ` Zhang Xiaohe
2013-05-09 14:51           ` Eric Blake
2013-05-10  1:21             ` Zhang Xiaohe
2013-05-08  9:03 ` HATAYAMA Daisuke [this message]

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=518A14FA.1040307@jp.fujitsu.com \
    --to=d.hatayama@jp.fujitsu.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qiaonuohan@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.