aboutsummaryrefslogtreecommitdiff
path: root/qapi/migration.json
diff options
context:
space:
mode:
authorHao Xiang <hao.xiang@bytedance.com>2024-03-11 18:00:11 +0000
committerPeter Xu <peterx@redhat.com>2024-03-11 16:57:05 -0400
commit5fdbb1dfccfd59661c95cae760b8e276c5b8e65c (patch)
tree3d8b915fe3da3f2cdc549dd0614d544ed114e067 /qapi/migration.json
parentc3cdf3fb18e5ecf8a3b4dc7223ddbfc53c418eb8 (diff)
downloadqemu-5fdbb1dfccfd59661c95cae760b8e276c5b8e65c.zip
qemu-5fdbb1dfccfd59661c95cae760b8e276c5b8e65c.tar.gz
qemu-5fdbb1dfccfd59661c95cae760b8e276c5b8e65c.tar.bz2
migration/multifd: Add new migration option zero-page-detection.
This new parameter controls where the zero page checking is running. 1. If this parameter is set to 'legacy', zero page checking is done in the migration main thread. 2. If this parameter is set to 'none', zero page checking is disabled. Signed-off-by: Hao Xiang <hao.xiang@bytedance.com> Reviewed-by: Peter Xu <peterx@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Link: https://lore.kernel.org/r/20240311180015.3359271-4-hao.xiang@linux.dev Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'qapi/migration.json')
-rw-r--r--qapi/migration.json33
1 files changed, 30 insertions, 3 deletions
diff --git a/qapi/migration.json b/qapi/migration.json
index 51d188b..83fdef7 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -671,6 +671,18 @@
'data': [ 'normal', 'cpr-reboot' ] }
##
+# @ZeroPageDetection:
+#
+# @none: Do not perform zero page checking.
+#
+# @legacy: Perform zero page checking in main migration thread.
+#
+# Since: 9.0
+##
+{ 'enum': 'ZeroPageDetection',
+ 'data': [ 'none', 'legacy' ] }
+
+##
# @BitmapMigrationBitmapAliasTransform:
#
# @persistent: If present, the bitmap will be made persistent or
@@ -891,6 +903,10 @@
# @mode: Migration mode. See description in @MigMode. Default is 'normal'.
# (Since 8.2)
#
+# @zero-page-detection: Whether and how to detect zero pages.
+# See description in @ZeroPageDetection. Default is 'legacy'.
+# (since 9.0)
+#
# Features:
#
# @deprecated: Member @block-incremental is deprecated. Use
@@ -924,7 +940,8 @@
'block-bitmap-mapping',
{ 'name': 'x-vcpu-dirty-limit-period', 'features': ['unstable'] },
'vcpu-dirty-limit',
- 'mode'] }
+ 'mode',
+ 'zero-page-detection'] }
##
# @MigrateSetParameters:
@@ -1083,6 +1100,10 @@
# @mode: Migration mode. See description in @MigMode. Default is 'normal'.
# (Since 8.2)
#
+# @zero-page-detection: Whether and how to detect zero pages.
+# See description in @ZeroPageDetection. Default is 'legacy'.
+# (since 9.0)
+#
# Features:
#
# @deprecated: Member @block-incremental is deprecated. Use
@@ -1136,7 +1157,8 @@
'*x-vcpu-dirty-limit-period': { 'type': 'uint64',
'features': [ 'unstable' ] },
'*vcpu-dirty-limit': 'uint64',
- '*mode': 'MigMode'} }
+ '*mode': 'MigMode',
+ '*zero-page-detection': 'ZeroPageDetection'} }
##
# @migrate-set-parameters:
@@ -1311,6 +1333,10 @@
# @mode: Migration mode. See description in @MigMode. Default is 'normal'.
# (Since 8.2)
#
+# @zero-page-detection: Whether and how to detect zero pages.
+# See description in @ZeroPageDetection. Default is 'legacy'.
+# (since 9.0)
+#
# Features:
#
# @deprecated: Member @block-incremental is deprecated. Use
@@ -1361,7 +1387,8 @@
'*x-vcpu-dirty-limit-period': { 'type': 'uint64',
'features': [ 'unstable' ] },
'*vcpu-dirty-limit': 'uint64',
- '*mode': 'MigMode'} }
+ '*mode': 'MigMode',
+ '*zero-page-detection': 'ZeroPageDetection'} }
##
# @query-migrate-parameters: