On 03/31/2018 03:45 AM, Lai Jiangshan wrote:
1) What's this

When the migration capability 'bypass-shared-memory'
is set, the shared memory will be bypassed when migration.

It is the key feature to enable several excellent features for
the qemu, such as qemu-local-migration, qemu-live-update,
extremely-fast-save-restore, vm-template, vm-fast-live-clone,
yet-another-post-copy-migration, etc..



Cc: Samuel Ortiz <sa...@linux.intel.com>
Cc: Sebastien Boeuf <sebastien.bo...@intel.com>
Cc: James O. D. Hunt <james.o.h...@intel.com>
Cc: Xu Wang <gna...@gmail.com>
Cc: Peng Tao <bergw...@gmail.com>
Cc: Xiao Guangrong <xiaoguangr...@tencent.com>
Cc: Xiao Guangrong <xiaoguangrong.e...@gmail.com>
Signed-off-by: Lai Jiangshan <jiangshan...@gmail.com>
---
  migration/migration.c | 13 +++++++++++++
  migration/migration.h |  1 +
  migration/ram.c       | 26 +++++++++++++++++---------
  qapi/migration.json   |  8 +++++++-
  4 files changed, 38 insertions(+), 10 deletions(-)


+++ b/qapi/migration.json
@@ -352,12 +352,17 @@
  #
  # @x-multifd: Use more than one fd for migration (since 2.11)
  #
+# @bypass-shared-memory: the shared memory region will be bypassed on 
migration.
+#          This feature allows the memory region to be reused by new qemu(s)
+#          or be migrated separately. (since 2.12)

This is a new feature and you've missed the freeze for 2.12; this will need to be updated to '(since 2.13)' if the patch itself receives favorable review.

+#
  # Since: 1.2
  ##
  { 'enum': 'MigrationCapability',
    'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
             'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram',
-           'block', 'return-path', 'pause-before-switchover', 'x-multifd' ] }
+           'block', 'return-path', 'pause-before-switchover', 'x-multifd',
+           'bypass-shared-memory'] }
##
  # @MigrationCapabilityStatus:
@@ -412,6 +417,7 @@
  #       {"state": true, "capability": "events"},
  #       {"state": false, "capability": "postcopy-ram"},
  #       {"state": false, "capability": "x-colo"}
+#       {"state": false, "capability": "bypass-shared-memory"}

Invalid JSON - you forgot to add the comma on the previous line.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to