[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 00/11] Add basic "detach" support for dump-guest-
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v6 00/11] Add basic "detach" support for dump-guest-memory |
Date: |
Wed, 9 Dec 2015 10:42:12 +0800 |
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
- [Qemu-devel] [PATCH v6 00/11] Add basic "detach" support for dump-guest-memory,
Peter Xu <=
- [Qemu-devel] [PATCH v6 01/11] dump-guest-memory: cleanup: removing dump_{error|cleanup}()., Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 02/11] dump-guest-memory: add "detach" flag for QMP/HMP interfaces., Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 03/11] dump-guest-memory: using static DumpState, add DumpStatus, Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 04/11] dump-guest-memory: add dump_in_progress() helper function, Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 05/11] dump-guest-memory: introduce dump_process() helper function., Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 06/11] dump-guest-memory: disable dump when in INMIGRATE state, Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 07/11] dump-guest-memory: add "detach" support, Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 08/11] DumpState: adding total_size and written_size fields, Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 09/11] Dump: add qmp command "query-dump", Peter Xu, 2015/12/08
- [Qemu-devel] [PATCH v6 10/11] Dump: add hmp command "info dump", Peter Xu, 2015/12/08