From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34964) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3MhI-00076t-4d for qemu-devel@nongnu.org; Mon, 30 Nov 2015 06:32:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3MhC-0004GT-Vz for qemu-devel@nongnu.org; Mon, 30 Nov 2015 06:32:44 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55239) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3MhC-0004GI-Pv for qemu-devel@nongnu.org; Mon, 30 Nov 2015 06:32:38 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 89523A1007 for ; Mon, 30 Nov 2015 11:32:38 +0000 (UTC) From: Peter Xu Date: Mon, 30 Nov 2015 19:32:08 +0800 Message-Id: <1448883140-20249-1-git-send-email-peterx@redhat.com> Subject: [Qemu-devel] [PATCH v3 00/12] Add basic "detach" support for dump-guest-memory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: drjones@redhat.com, lersek@redhat.com, armbru@redhat.com, peterx@redhat.com, lcapitulino@redhat.com, famz@redhat.com, pbonzini@redhat.com v3 changes (patch number corresponds to v2 patch set): - patch 1 - fix commit message. no memory leak, only code cleanup [Fam] - patch 2 - better documentation for "dump-guest-memory" (new patch 9) [Fam] - patch 3 - remove rcu lock/unlock in dump_init() [Fam, Paolo] - embed mr pointer into GuestPhysBlock [Paolo] - remove global dump state [Paolo] - patch 4 - fix memory leak for error [Fam] - evt DUMP_COMPLETED data: change to an optional "*error" [Paolo] - patch 5 - fix documents [Fam] - change "dump-query" to "query-dump", HMP to "info dump" [Paolo] - patch 6 - for query-dump command: define enum for DumpStatus, use "int" for written/total [Paolo] - all - reorder the commits as suggested, no fake values [Paolo] - split big commit into smaller ones [me] v2 changes: - fixed English errors [Drew] - reordered the "detach" field, first make it optional, then make sure it's order is consistent [Drew, Fam] - added doc for new detach flag [Eric] - collected error msg even detached [Drew] - added qmp event DUMP_COMPLETED to notify user [Eric, Fam] - added "dump-query" QMP & HMP commands to query dump status [Eric] - "stop" is not allowed when dump in background (also include "cont" and "dump-guest-memory") [Fam] - added codes to calculate how many dump work finished, which could be queried from "dump-query" [Laszlo] - added list to track all used MemoryRegion objects, also ref before use [Paolo] - dump-guest-memory will be forbidden during incoming migrate [Paolo] - taking rcu lock when collecting memory info [Paolo] Test Done: - QMP & HMP - test default dump (sync), work as usual - test detached dump, command return immediately. When dump finished, will receive event DUMP_COMPLETED with a message. - test query-dump before/during/after dump - test kdump with zlib compression, w/ and w/o detach - libvirt - test "virsh dump --memory-only" with default format and kdump-zlib format, work as usual Peter Xu (12): dump-guest-memory: cleanup: removing dump_{error|cleanup}(). dump-guest-memory: add "detach" flag for QMP/HMP interfaces. dump-guest-memory: using static DumpState, add DumpStatus dump-guest-memory: add dump_in_progress() helper function dump-guest-memory: introduce dump_process() helper function. dump-guest-memory: disable dump when in INMIGRATE state dump-guest-memory: add "detach" support dump-guest-memory: add qmp event DUMP_COMPLETED DumpState: adding total_size and written_size fields Dump: add qmp command "query-dump" Dump: add hmp command "info dump" Dump: enhance the documentations. docs/qmp-events.txt | 14 +++ dump.c | 218 ++++++++++++++++++++++++++++++---------- hmp-commands-info.hx | 14 +++ hmp-commands.hx | 5 +- hmp.c | 27 ++++- hmp.h | 1 + include/qemu-common.h | 4 + include/sysemu/dump.h | 15 +++ include/sysemu/memory_mapping.h | 4 + memory_mapping.c | 3 + qapi-schema.json | 58 ++++++++++- qapi/event.json | 10 ++ qmp-commands.hx | 34 ++++++- qmp.c | 14 +++ 14 files changed, 357 insertions(+), 64 deletions(-) -- 2.4.3