From: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>
To: qemu-devel@nongnu.org
Cc: Qiao Nuohan <qiaonuohan@cn.fujitsu.com>,
d.hatayama@jp.fujitsu.com, zhangxh@cn.fujitsu.com,
kumagai-atsushi@mxc.nes.nec.co.jp, anderson@redhat.com,
afaerber@suse.de
Subject: [Qemu-devel] [PATCH 0/9 v3] Make monitor command 'dump-guest-memory' dump in kdump-compressed format
Date: Fri, 17 May 2013 11:24:55 +0800 [thread overview]
Message-ID: <1368761104-20105-1-git-send-email-qiaonuohan@cn.fujitsu.com> (raw)
Hi, all
The last version is here:
http://lists.gnu.org/archive/html/qemu-devel/2013-05/msg01947.html
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
For migration, 'dump-guest-memory' is supposed to support compression feature.
Because of the regression, the missing of compression feature, we post these
patches to make 'dump-guest-memory' be able to dump guest's in kdump-compressed
format. Then vmcore can be much smaller, and easily be delivered.
The kdump-compressed format is *linux specific* *linux standard* crash dump
format used in kdump framework. The kdump-compressed format is readable only
with the crash utility, and it can be smaller than the ELF format because of
the compression support.
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.
Changelog:
Changes from v2 to v3:
1. Address Eric's comment
Changes from v1 to v2:
1. Address Eric & Daniel's comment: fix manner of string copy.
2. Address Eric's comment: replace reinventing new constants by using the
ready-made ones accoring.
3. Address Andreas's comment: remove useless include.
Qiao Nuohan (9):
Add API to manipulate dump_bitmap
Add API to manipulate cache_data
Move includes and struct definition to dump.h
Add API to create header of vmcore
Add API to create data of dump bitmap
Add API to create page
Add API to free buf used by creating header, bitmap and page
Add API to write header, bitmap and page into vmcore
Make monitor command 'dump-guest-memory' dump in kdump-compressed
format
Makefile.target | 2 +-
cache_data.c | 121 +++++++
configure | 50 +++
dump.c | 877 ++++++++++++++++++++++++++++++++++++++++++++++---
dump_bitmap.c | 171 ++++++++++
hmp-commands.hx | 12 +-
hmp.c | 23 ++-
include/cache_data.h | 56 ++++
include/dump_bitmap.h | 60 ++++
include/sysemu/dump.h | 176 ++++++++++
qapi-schema.json | 23 ++-
qmp-commands.hx | 6 +-
12 files changed, 1527 insertions(+), 50 deletions(-)
create mode 100644 cache_data.c
create mode 100644 dump_bitmap.c
create mode 100644 include/cache_data.h
create mode 100644 include/dump_bitmap.h
Qiao Nuohan (9):
Add API to manipulate dump_bitmap
Add API to manipulate cache_data
Move includes and struct definition to dump.h
Add API to create header of vmcore
Add API to create data of dump bitmap
Add API to create page
Add API to free memory used by creating header, bitmap and page
Add API to write header, bitmap and page into vmcore
Make monitor command 'dump-guest-memory' dump in kdump-compressed
format
Makefile.target | 2 +-
cache_data.c | 121 +++++++
configure | 50 +++
dump.c | 873 ++++++++++++++++++++++++++++++++++++++++++++++---
dump_bitmap.c | 171 ++++++++++
hmp-commands.hx | 12 +-
hmp.c | 23 ++-
include/cache_data.h | 56 ++++
include/dump_bitmap.h | 60 ++++
include/sysemu/dump.h | 169 ++++++++++
qapi-schema.json | 22 ++-
qmp-commands.hx | 6 +-
12 files changed, 1516 insertions(+), 49 deletions(-)
create mode 100644 cache_data.c
create mode 100644 dump_bitmap.c
create mode 100644 include/cache_data.h
create mode 100644 include/dump_bitmap.h
next reply other threads:[~2013-05-17 3:25 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-17 3:24 Qiao Nuohan [this message]
2013-05-17 3:24 ` [Qemu-devel] [PATCH 1/9 v3] Add API to manipulate dump_bitmap Qiao Nuohan
2013-05-17 3:24 ` [Qemu-devel] [PATCH 2/9 v3] Add API to manipulate cache_data Qiao Nuohan
2013-05-17 3:24 ` [Qemu-devel] [PATCH 3/9 v3] Move includes and struct definition to dump.h Qiao Nuohan
2013-05-22 14:12 ` Andreas Färber
2013-05-27 7:50 ` Qiao Nuohan
2013-05-17 3:24 ` [Qemu-devel] [PATCH 4/9 v3] Add API to create header of vmcore Qiao Nuohan
2013-05-17 3:25 ` [Qemu-devel] [PATCH 5/9 v3] Add API to create data of dump bitmap Qiao Nuohan
2013-05-17 3:25 ` [Qemu-devel] [PATCH 6/9 v3] Add API to create page Qiao Nuohan
2013-05-17 3:25 ` [Qemu-devel] [PATCH 7/9 v3] Add API to free memory used by creating header, bitmap and page Qiao Nuohan
2013-05-17 3:25 ` [Qemu-devel] [PATCH 8/9 v3] Add API to write header, bitmap and page into vmcore Qiao Nuohan
2013-05-17 3:25 ` [Qemu-devel] [PATCH 9/9 v3] Make monitor command 'dump-guest-memory' dump in kdump-compressed format Qiao Nuohan
2013-05-20 1:15 ` [Qemu-devel] [PATCH 0/9 " Qiao Nuohan
2013-05-22 6:37 ` Qiao Nuohan
2013-05-22 12:24 ` Luiz Capitulino
2013-05-22 14:44 ` Andreas Färber
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=1368761104-20105-1-git-send-email-qiaonuohan@cn.fujitsu.com \
--to=qiaonuohan@cn.fujitsu.com \
--cc=afaerber@suse.de \
--cc=anderson@redhat.com \
--cc=d.hatayama@jp.fujitsu.com \
--cc=kumagai-atsushi@mxc.nes.nec.co.jp \
--cc=qemu-devel@nongnu.org \
--cc=zhangxh@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 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).