From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43089) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVVQI-0001JC-4h for qemu-devel@nongnu.org; Mon, 15 Feb 2016 21:31:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aVVQB-0004xR-Vc for qemu-devel@nongnu.org; Mon, 15 Feb 2016 21:31:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34702) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVVQB-0004x5-Ov for qemu-devel@nongnu.org; Mon, 15 Feb 2016 21:31:23 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id AFF16A789 for ; Tue, 16 Feb 2016 02:31:22 +0000 (UTC) Date: Tue, 16 Feb 2016 10:31:12 +0800 From: Peter Xu Message-ID: <20160216023112.GE7978@pxdev.xzpeter.org> References: <1449628943-10197-1-git-send-email-peterx@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1449628943-10197-1-git-send-email-peterx@redhat.com> Subject: Re: [Qemu-devel] [PATCH v6 00/11] 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, lcapitulino@redhat.com, famz@redhat.com, pbonzini@redhat.com Still think this might help in some cases, so ping again... Peter On Wed, Dec 09, 2015 at 10:42:12AM +0800, Peter Xu wrote: > v6 changes: > - patch 10 > - English error fix [Fam] > - patch 11 > - remove useless var: "not_used" [me] > - all > - move patch 8 to the end to be patch 11 (v5 patches 9-11 become > v6 patches 8-10) [Eric] > > v5 changes: > - patch 1 > - comment English fix [Fam] > - patch 2 > - pass has_detach=true always in hmp_dump_guest_memory [Paolo] > - patch 3 > - always use local_err and error_propagate() when need to check > the result [Fam] > - patch 8 > - add "DumpQueryResult" in DUMP_COMPLETED event [Eric] > (since DumpQueryResult is introduced in patch 10, so doing it in > patch 10 for convenience. Please let me know if I should not do > this, e.g., if patch re-ordering is required) > > v4 changes: > - patch 2: > - hmp: fix default value lost [Eric] > - English errors [Eric] > - patch 3: > - use global DumpState, leverage C99 struct init [Paolo] > - English errors [Eric] > - patch 5: > - more cleanup for dump_process [Paolo] > - patch 8: > - make sure qmp-events.txt is sorted [Eric] > - enhance error_get_pretty() [Eric] > - emit DUMP_COMPLETED no matter detach or not > - patch 10: > - use g_new0 to replace g_malloc0 [Eric] > - rename "written_bytes" to "completed", "total_bytes" to "total" > [Eric] > - use atomic ops and [rw]mb to protect status read/write [Paolo] > - patch 12: > - English errors [Eric] > - merge contents into older patches [Eric] > > 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. > - 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 (11): > 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 > DumpState: adding total_size and written_size fields > Dump: add qmp command "query-dump" > Dump: add hmp command "info dump" > dump-guest-memory: add qmp event DUMP_COMPLETED > > docs/qmp-events.txt | 18 ++++ > dump.c | 215 ++++++++++++++++++++++++++++++---------- > hmp-commands-info.hx | 14 +++ > hmp-commands.hx | 5 +- > hmp.c | 26 ++++- > 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 | 56 ++++++++++- > qapi/event.json | 16 +++ > qmp-commands.hx | 31 +++++- > qmp.c | 14 +++ > 14 files changed, 359 insertions(+), 63 deletions(-) > > -- > 2.4.3 >