From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubixh-00066G-7H for qemu-devel@nongnu.org; Sun, 12 May 2013 22:58:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ubixd-0004sJ-Vt for qemu-devel@nongnu.org; Sun, 12 May 2013 22:58:05 -0400 Received: from [222.73.24.84] (port=11693 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubixd-0004r8-Lg for qemu-devel@nongnu.org; Sun, 12 May 2013 22:58:01 -0400 Received: from fnstmail02.fnst.cn.fujitsu.com (tang.cn.fujitsu.com [127.0.0.1]) by tang.cn.fujitsu.com (8.14.3/8.13.1) with ESMTP id r4D2vgC7015464 for ; Mon, 13 May 2013 10:57:42 +0800 From: "qiaonuohan" References: <1367978048-24327-1-git-send-email-qiaonuohan@cn.fujitsu.com> In-Reply-To: <1367978048-24327-1-git-send-email-qiaonuohan@cn.fujitsu.com> Date: Mon, 13 May 2013 10:57:35 +0800 Message-ID: <001201ce4f85$a0270700$e0751500$@cn.fujitsu.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="UTF-8" Content-Language: zh-cn Subject: Re: [Qemu-devel] [PATCH 0/9 v2] Make monitor command 'dump-guest-memory' dump in kdump-compressed format List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Sorry, the cc list is wrong, I will resend the mails. > -----Original Message----- > From: qiaonuohan@cn.fujitsu.com [mailto:qiaonuohan@cn.fujitsu.com] > Sent: Wednesday, May 08, 2013 9:54 AM > To: qemu-devel@nongnu.org > Cc: > eblake@redhat.com.berrange@redhat.com.afaerber@suse.de.d.hatayama@jp.fujitsu.c > om.zhangxh@cn.fujitsu.com; Qiao Nuohan > Subject: [PATCH 0/9 v2] Make monitor command 'dump-guest-memory' dump in > kdump-compressed format > > From: Qiao Nuohan > > Hi, all > > The last version is here: > http://lists.gnu.org/archive/html/qemu-devel/2013-05/msg00803.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 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 >