Re: [Qemu-devel] [PATCH 00/13 v7] Make 'dump-guest-memory' dump in kdump-compressed format

2014-01-21 Thread Qiao Nuohan

Hello,

Do you have some comments on the version?

On 01/17/2014 03:46 PM, qiaonuohan wrote:

Hi, all

The last version is here:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg00209.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

Compared with migration, the missing of compression feature means regression
to 'dump-guest-memory'. So 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 to 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. To get more detailed information about
kdump-compressed format, please refer to the following URL:
http://sourceforge.net/projects/makedumpfile/

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 specified with 'configure' to make lzo or snappy available.

Changelog:
Changes from v6 to v7:
1. support BE host
2. abandon non-flatten format to avoid using seek on vmcore
3. abandon using of very large array
4. use get_next_page to replace the iteration of guest's pages
5. abandon the support of HMP

Changes from v5 to v6:
1. add run-time check for compression format(lzo/snappy)
2. address Stefan's comments about reusing code and coding style
3. update the version of kdump-compressed format to 6th
4. resplit the patches
5. Add 'query-dump-guest-memory-capability' command

Changes from v4 to v5:
1. using flatten format to avoid using temporary files according to Stefan's
comments
2. Address Andreas's comments about coding style

Changes from v3 to v4:
1. change to avoid conflict with Andreas's patches
2. rebase

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.

qiaonuohan (13):
   dump: const-qualify the buf of WriteCoreDumpFunction
   dump: add argument to write_elfxx_notes
   dump: add API to write header of flatten format
   dump: add API to write vmcore
   dump: add API to write elf notes to buffer
   dump: add support for lzo/snappy
   dump: add members to DumpState and init some of them
   dump: add API to write dump header
   dump: add API to write dump_bitmap
   dump: add APIs to operate DataCache
   dump: add API to write dump pages
   dump: make kdump-compressed format available for 'dump-guest-memory'
   dump: add 'query-dump-guest-memory-capability' command

  configure |   54 +++
  dump.c|  972 -
  hmp.c |5 +-
  include/qom/cpu.h |3 +-
  include/sysemu/dump.h |  138 +++
  qapi-schema.json  |   38 ++-
  qmp-commands.hx   |   38 ++-
  7 files changed, 1228 insertions(+), 20 deletions(-)





--
Regards
Qiao Nuohan



Re: [Qemu-devel] [PATCH 00/13 v7] Make 'dump-guest-memory' dump in kdump-compressed format

2014-01-21 Thread Laszlo Ersek
Hi,

On 01/21/14 10:56, Qiao Nuohan wrote:

 Do you have some comments on the version?

it's in my review queue. The last version took a lot of energy on my
part to review (it's long and complex) so I'm still gearing up.

I very much hope I can review this version by diffing it with the last
version, and checking the differences against my earlier comments. If
that approach doesn't work then it'll take days again *after* I start.
Apologies :(

Thanks
Laszlo



Re: [Qemu-devel] [PATCH 00/13 v7] Make 'dump-guest-memory' dump in kdump-compressed format

2014-01-21 Thread Qiao Nuohan

On 01/21/2014 06:14 PM, Laszlo Ersek wrote:

it's in my review queue. The last version took a lot of energy on my
part to review (it's long and complex) so I'm still gearing up.

I very much hope I can review this version by diffing it with the last
version, and checking the differences against my earlier comments. If
that approach doesn't work then it'll take days again*after*  I start.
Apologies:(


I see. Thanks for your help. According to your comments, I did a lot of changes
to my last series. Patch 01 are newly added, and patch 07 just move some
initialization from other patches. You can check the differences between the
reset patches with the last version. And thanks again.

--
Regards
Qiao Nuohan



[Qemu-devel] [PATCH 00/13 v7] Make 'dump-guest-memory' dump in kdump-compressed format

2014-01-17 Thread qiaonuohan
Hi, all

The last version is here:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg00209.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

Compared with migration, the missing of compression feature means regression
to 'dump-guest-memory'. So 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 to 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. To get more detailed information about
kdump-compressed format, please refer to the following URL:
http://sourceforge.net/projects/makedumpfile/

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 specified with 'configure' to make lzo or snappy available.

Changelog:
Changes from v6 to v7:
1. support BE host
2. abandon non-flatten format to avoid using seek on vmcore
3. abandon using of very large array
4. use get_next_page to replace the iteration of guest's pages
5. abandon the support of HMP

Changes from v5 to v6:
1. add run-time check for compression format(lzo/snappy)
2. address Stefan's comments about reusing code and coding style
3. update the version of kdump-compressed format to 6th
4. resplit the patches
5. Add 'query-dump-guest-memory-capability' command

Changes from v4 to v5:
1. using flatten format to avoid using temporary files according to Stefan's
   comments
2. Address Andreas's comments about coding style

Changes from v3 to v4:
1. change to avoid conflict with Andreas's patches
2. rebase

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.

qiaonuohan (13):
  dump: const-qualify the buf of WriteCoreDumpFunction
  dump: add argument to write_elfxx_notes
  dump: add API to write header of flatten format
  dump: add API to write vmcore
  dump: add API to write elf notes to buffer
  dump: add support for lzo/snappy
  dump: add members to DumpState and init some of them
  dump: add API to write dump header
  dump: add API to write dump_bitmap
  dump: add APIs to operate DataCache
  dump: add API to write dump pages
  dump: make kdump-compressed format available for 'dump-guest-memory'
  dump: add 'query-dump-guest-memory-capability' command

 configure |   54 +++
 dump.c|  972 -
 hmp.c |5 +-
 include/qom/cpu.h |3 +-
 include/sysemu/dump.h |  138 +++
 qapi-schema.json  |   38 ++-
 qmp-commands.hx   |   38 ++-
 7 files changed, 1228 insertions(+), 20 deletions(-)




Re: [Qemu-devel] [PATCH 00/13 v7] Make 'dump-guest-memory' dump in kdump-compressed format

2014-01-17 Thread Christian Borntraeger
On 17/01/14 08:46, qiaonuohan wrote:
 Hi, all
 
 The last version is here:
 http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg00209.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
 
 Compared with migration, the missing of compression feature means regression
 to 'dump-guest-memory'. So 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 to be delivered.

Nice, we certainly want that.
 
 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. To get more detailed information about
 kdump-compressed format, please refer to the following URL:
 http://sourceforge.net/projects/makedumpfile/
 
 Note, similar to 'dump-guest-memory':
 1. The guest should be x86 or x86_64. The other arch is not supported now.

What is the reason for that? Looking over the patch set, there seem to
be no architecture folder involved and others like s390x also have the
dump-guest-memory support. 
[...]




Re: [Qemu-devel] [PATCH 00/13 v7] Make 'dump-guest-memory' dump in kdump-compressed format

2014-01-17 Thread Qiao Nuohan

On 01/17/2014 04:50 PM, Christian Borntraeger wrote:

What is the reason for that? Looking over the patch set, there seem to
be no architecture folder involved and others like s390x also have the
dump-guest-memory support.
[...]


I found dump-guest-memory have support s390/ppc. I do not restrict the guest
should only be x86/x86_64, actually, I get no knowledge about other arch, so 
what I can do now is just make x86/x86_64 works and be tested.


--
Regards
Qiao Nuohan