From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: Eduardo Habkost <ehabkost@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Eric Blake <eblake@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Juan Quintela <quintela@redhat.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
peterx@redhat.com
Subject: [Qemu-devel] [PATCH v4 00/10] migration: objectify MigrationState
Date: Wed, 21 Jun 2017 15:51:58 +0800 [thread overview]
Message-ID: <1498031528-1990-1-git-send-email-peterx@redhat.com> (raw)
v4:
- dropped lots of patches related to AccelState.global_props. Now I am
using AccelClass.global_props, and only use it in Xen codes.
- one patch is added to clean up the global property registerations,
with some comment to show the ordering.
- one patch is added to dump migration globals in "info migrate"
unconditionally (last patch).
- changed all the following xen_init() patches to use
AccelClass.global_props.
- (since most of the patches are either touched-up again, or threw
away, so no much r-b added, only one for Juan on the only_migratable
patch, anyway, thanks for reviewing the old codes!)
------------
The main goal of this series is to let MigrationState be a QDev.
It helps in many use cases.
First of all, we can remove many legacy tricky functions. To name
some: savevm_skip_section_footers(), savevm_skip_configuration(), etc.
They didn't do much thing but setup a bool value. If MigrationState
can be a QDev, then these things can be setup by the HW_COMPAT_* magic
with some lines like:
{
.driver = "migration",
.property = "send-configuration",
.value = "off",
}
Next, if this can be merged and okay, we can move on to convert more
things into properties for migration. A very attractive use case of it
is, we will be able to do this for migration:
-global migration.postcopy=on
Then we don't need to use either HMP/QMP interface to enable it. It
greatly simplifies the migration test scripts.
Why QDev not QObject? The answer is simple: all the magic that we want
for migration is bound to QDev (HW_COMPAT, "-global"). If one day we
want to move these features from QDev to QObject, that'll be fine and
easy for MigrationState. But before that, let's have MigrationState a
QDev. :-)
Please kindly review. Thanks.
Peter Xu (10):
machine: export register_compat_prop()
accel: introduce AccelClass.global_props
vl: clean up global property registerations
migration: let MigrationState be a qdev
migration: move global_state.optional out
migration: move only_migratable to MigrationState
migration: move skip_configuration out
migration: move skip_section_footers
migration: merge enforce_config_section somewhat
migration: hmp: dump globals
accel/accel.c | 10 ++++
hmp.c | 3 +
hw/core/machine.c | 13 -----
hw/core/qdev-properties.c | 13 +++++
hw/i386/pc_piix.c | 3 -
hw/ppc/spapr.c | 3 -
hw/xen/xen-common.c | 25 +++++++--
include/hw/compat.h | 12 ++++
include/hw/qdev-properties.h | 3 +
include/migration/global_state.h | 1 -
include/migration/misc.h | 6 +-
include/sysemu/accel.h | 10 ++++
include/sysemu/sysemu.h | 1 -
migration/global_state.c | 9 +--
migration/migration.c | 118 +++++++++++++++++++++++++++++++--------
migration/migration.h | 33 +++++++++++
migration/savevm.c | 32 ++---------
vl.c | 41 ++++++++++++--
18 files changed, 246 insertions(+), 90 deletions(-)
--
2.7.4
next reply other threads:[~2017-06-21 7:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-21 7:51 Peter Xu [this message]
2017-06-21 7:51 ` [Qemu-devel] [PATCH v4 01/10] machine: export register_compat_prop() Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 02/10] accel: introduce AccelClass.global_props Peter Xu
2017-06-21 12:23 ` Eduardo Habkost
2017-06-22 4:25 ` Peter Xu
2017-06-22 17:28 ` Eduardo Habkost
2017-06-23 4:44 ` Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 03/10] vl: clean up global property registerations Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 04/10] migration: let MigrationState be a qdev Peter Xu
2017-06-21 8:58 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 05/10] migration: move global_state.optional out Peter Xu
2017-06-21 8:59 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 06/10] migration: move only_migratable to MigrationState Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 07/10] migration: move skip_configuration out Peter Xu
2017-06-21 9:00 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 08/10] migration: move skip_section_footers Peter Xu
2017-06-21 9:01 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 09/10] migration: merge enforce_config_section somewhat Peter Xu
2017-06-21 9:02 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 10/10] migration: hmp: dump globals Peter Xu
2017-06-21 9:03 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1498031528-1990-1-git-send-email-peterx@redhat.com \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=lvivier@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.