Hi, all Would you please give some advice about how to continue my series?
My patches have stuck for several months, because I was not allowed to add an option before introspection is implemented. After observing mails about introspection, I find it is still not confirmed its implement way. Since I got a deadline about this feature(in three months), I have to ask for some advice about these patches. First, I hope to confirm whether it is impossible to add an option to 'dump- guest-memory'. If the answer is impossible, then should I still wait for introspection or just change to add a new command? On 07/09/2013 03:30 PM, Qiao Nuohan wrote:
Hi, all The last version is here: http://lists.gnu.org/archive/html/qemu-devel/2013-05/msg03866.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 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. Qiao Nuohan (9): 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 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' configure | 50 +++ dump.c | 873 ++++++++++++++++++++++++++++++++++++++++++++++++- hmp-commands.hx | 12 +- hmp.c | 23 ++- include/sysemu/dump.h | 127 +++++++ qapi-schema.json | 22 ++- qmp-commands.hx | 6 +- 7 files changed, 1088 insertions(+), 25 deletions(-)
-- Regards Qiao Nuohan