aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHao Xiang <hao.xiang@bytedance.com>2024-03-11 18:00:14 +0000
committerPeter Xu <peterx@redhat.com>2024-03-11 16:57:09 -0400
commit70c25c92e602f393d3c33596530c5f2b18491e55 (patch)
treec4e074cd4255a324fb8281a7637453c9d80ae844
parent9ae90f73e623c8b8c7ec1fccd8ca493805df8fbd (diff)
downloadqemu-70c25c92e602f393d3c33596530c5f2b18491e55.zip
qemu-70c25c92e602f393d3c33596530c5f2b18491e55.tar.gz
qemu-70c25c92e602f393d3c33596530c5f2b18491e55.tar.bz2
migration/multifd: Enable multifd zero page checking by default.
1. Set default "zero-page-detection" option to "multifd". Now zero page checking can be done in the multifd threads and this becomes the default configuration. 2. Handle migration QEMU9.0 -> QEMU8.2 compatibility. We provide backward compatibility where zero page checking is done from the migration main thread. Signed-off-by: Hao Xiang <hao.xiang@bytedance.com> Reviewed-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Peter Xu <peterx@redhat.com> Link: https://lore.kernel.org/r/20240311180015.3359271-7-hao.xiang@linux.dev Signed-off-by: Peter Xu <peterx@redhat.com>
-rw-r--r--hw/core/machine.c4
-rw-r--r--migration/options.c2
-rw-r--r--qapi/migration.json6
3 files changed, 7 insertions, 5 deletions
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 9ac5d53..0e9d646 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -32,7 +32,9 @@
#include "hw/virtio/virtio-net.h"
#include "audio/audio.h"
-GlobalProperty hw_compat_8_2[] = {};
+GlobalProperty hw_compat_8_2[] = {
+ { "migration", "zero-page-detection", "legacy"},
+};
const size_t hw_compat_8_2_len = G_N_ELEMENTS(hw_compat_8_2);
GlobalProperty hw_compat_8_1[] = {
diff --git a/migration/options.c b/migration/options.c
index 8f2a3a2..9ed2fe4 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -181,7 +181,7 @@ Property migration_properties[] = {
MIG_MODE_NORMAL),
DEFINE_PROP_ZERO_PAGE_DETECTION("zero-page-detection", MigrationState,
parameters.zero_page_detection,
- ZERO_PAGE_DETECTION_LEGACY),
+ ZERO_PAGE_DETECTION_MULTIFD),
/* Migration capabilities */
DEFINE_PROP_MIG_CAP("x-xbzrle", MIGRATION_CAPABILITY_XBZRLE),
diff --git a/qapi/migration.json b/qapi/migration.json
index 2684e4e..aa1b39b 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -909,7 +909,7 @@
# (Since 8.2)
#
# @zero-page-detection: Whether and how to detect zero pages.
-# See description in @ZeroPageDetection. Default is 'legacy'.
+# See description in @ZeroPageDetection. Default is 'multifd'.
# (since 9.0)
#
# Features:
@@ -1106,7 +1106,7 @@
# (Since 8.2)
#
# @zero-page-detection: Whether and how to detect zero pages.
-# See description in @ZeroPageDetection. Default is 'legacy'.
+# See description in @ZeroPageDetection. Default is 'multifd'.
# (since 9.0)
#
# Features:
@@ -1339,7 +1339,7 @@
# (Since 8.2)
#
# @zero-page-detection: Whether and how to detect zero pages.
-# See description in @ZeroPageDetection. Default is 'legacy'.
+# See description in @ZeroPageDetection. Default is 'multifd'.
# (since 9.0)
#
# Features: