[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 00/10] migration: export cap/params to qdev props
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v3 00/10] migration: export cap/params to qdev props |
Date: |
Tue, 18 Jul 2017 11:39:00 +0800 |
v3:
- add r-b properly on each patch
- patch 1: fix commit message [Eric]
- patch 4: dropped since not used any more [Eduardo]
- patch 7 (new patch 6): move the check from post_init() into
migration_object_init() [Eduardo]
- patch 10 (new patch 9): rename var "head" -> "list" [Juan]
- patch 11: rebased a lot due to patch 7's change, so removed Juan's r-b
v2:
- extended the series from 3 -> 11 patches
- renamed all the properties with "x-" prefix
- handled the cap/param check for these new properties (mostly patch
4-11, but it contains lots of refactorings in general)
We have the MigrationState as QDev now (which seems crazy). Let's
continue to benefit.
This series is exporting all migration capabilities/params as global
parameters. Then we can do something like this:
qemu -global migration.postcopy-ram=true \
-global migration.max-bandwidth=4096
The values will be inited just like we typed these values into HMP
monitor. It'll simplify lots of migration scripts.
The changes are fairly straightforward. One tiny loss is that we still
don't support:
-global migration.max-bandwidth=1g
...just like what we did in HMP:
migrate_set_speed 1g
...while we need to use:
-global migration.max-bandwidth=1073741824
However that should only be used in scripts, and that's good enough
imho.
These properties should only be used for debugging/testing purpose,
and we should not guarantee any interface compatibility for them (just
like HMP).
Please review. Thanks.
Peter Xu (10):
qdev: provide DEFINE_PROP_INT64()
migration: export parameters to props
migration: export capabilities to props
migration: introduce migrate_params_check()
migration: provide migrate_params_apply()
migration: check global params for validity
migration: remove check against colo support
migration: provide migrate_caps_check()
migration: provide migrate_cap_add()
migration: check global caps for validity
hw/core/qdev-properties.c | 32 ++++++
include/hw/qdev-properties.h | 3 +
include/migration/colo.h | 1 -
migration/colo.c | 5 -
migration/migration.c | 267 +++++++++++++++++++++++++++++++++----------
5 files changed, 242 insertions(+), 66 deletions(-)
--
2.7.4
- [Qemu-devel] [PATCH v3 00/10] migration: export cap/params to qdev props,
Peter Xu <=
- [Qemu-devel] [PATCH v3 01/10] qdev: provide DEFINE_PROP_INT64(), Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 02/10] migration: export parameters to props, Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 03/10] migration: export capabilities to props, Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 04/10] migration: introduce migrate_params_check(), Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 05/10] migration: provide migrate_params_apply(), Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 06/10] migration: check global params for validity, Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 07/10] migration: remove check against colo support, Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 08/10] migration: provide migrate_caps_check(), Peter Xu, 2017/07/17
- [Qemu-devel] [PATCH v3 09/10] migration: provide migrate_cap_add(), Peter Xu, 2017/07/17