diff options
author | Steve Sistare <steven.sistare@oracle.com> | 2025-01-15 11:00:43 -0800 |
---|---|---|
committer | Fabiano Rosas <farosas@suse.de> | 2025-01-29 11:56:39 -0300 |
commit | fdbfbfc75e9e5ee76693f32d7e67cf04ff804413 (patch) | |
tree | 48f32d26e7b5551f7137e020221cbeb9cb51815d | |
parent | 624e6e654e110d04efd22fe7bb494010c12765f0 (diff) | |
download | qemu-fdbfbfc75e9e5ee76693f32d7e67cf04ff804413.zip qemu-fdbfbfc75e9e5ee76693f32d7e67cf04ff804413.tar.gz qemu-fdbfbfc75e9e5ee76693f32d7e67cf04ff804413.tar.bz2 |
migration-test: memory_backend
Allow each migration test to define its own memory backend, replacing
the standard "-m <size>" specification.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/1736967650-129648-18-git-send-email-steven.sistare@oracle.com
Signed-off-by: Fabiano Rosas <farosas@suse.de>
-rw-r--r-- | tests/qtest/migration/framework.c | 15 | ||||
-rw-r--r-- | tests/qtest/migration/framework.h | 5 |
2 files changed, 16 insertions, 4 deletions
diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/framework.c index 4550cda..758e14a 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -221,6 +221,7 @@ int migrate_start(QTestState **from, QTestState **to, const char *uri, g_autofree char *machine = NULL; const char *bootpath; g_autoptr(QList) capabilities = migrate_start_get_qmp_capabilities(args); + g_autofree char *memory_backend = NULL; if (args->use_shmem) { if (!g_file_test("/dev/shm", G_FILE_TEST_IS_DIR)) { @@ -296,6 +297,12 @@ int migrate_start(QTestState **from, QTestState **to, const char *uri, memory_size, shmem_path); } + if (args->memory_backend) { + memory_backend = g_strdup_printf(args->memory_backend, memory_size); + } else { + memory_backend = g_strdup_printf("-m %s ", memory_size); + } + if (args->use_dirty_ring) { kvm_opts = ",dirty-ring-size=4096"; } @@ -314,12 +321,12 @@ int migrate_start(QTestState **from, QTestState **to, const char *uri, cmd_source = g_strdup_printf("-accel kvm%s -accel tcg " "-machine %s,%s " "-name source,debug-threads=on " - "-m %s " + "%s " "-serial file:%s/src_serial " "%s %s %s %s", kvm_opts ? kvm_opts : "", machine, machine_opts, - memory_size, tmpfs, + memory_backend, tmpfs, arch_opts ? arch_opts : "", shmem_opts ? shmem_opts : "", args->opts_source ? args->opts_source : "", @@ -335,13 +342,13 @@ int migrate_start(QTestState **from, QTestState **to, const char *uri, cmd_target = g_strdup_printf("-accel kvm%s -accel tcg " "-machine %s,%s " "-name target,debug-threads=on " - "-m %s " + "%s " "-serial file:%s/dest_serial " "-incoming %s " "%s %s %s %s", kvm_opts ? kvm_opts : "", machine, machine_opts, - memory_size, tmpfs, uri, + memory_backend, tmpfs, uri, arch_opts ? arch_opts : "", shmem_opts ? shmem_opts : "", args->opts_target ? args->opts_target : "", diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/framework.h index 7991ee5..dd2db1c 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -111,6 +111,11 @@ typedef struct { bool suspend_me; /* enable OOB QMP capability */ bool oob; + /* + * Format string for the main memory backend, containing one %s where the + * size is plugged in. If omitted, "-m %s" is used. + */ + const char *memory_backend; } MigrateStart; typedef enum PostcopyRecoveryFailStage { |