[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/27] migration: add blocktime calculation into migr
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PULL 11/27] migration: add blocktime calculation into migration-test |
Date: |
Mon, 15 Jan 2018 12:52:53 +0100 |
From: Alexey Perevalov <address@hidden>
This patch just requests blocktime calculation,
and check it in case when UFFD_FEATURE_THREAD_ID feature is set
on the host.
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Alexey Perevalov <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
---
tests/migration-test.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 799e24ebc6..9fd5dadc0d 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -25,6 +25,7 @@
const unsigned start_address = 1024 * 1024;
const unsigned end_address = 100 * 1024 * 1024;
bool got_stop;
+static bool uffd_feature_thread_id;
#if defined(__linux__)
#include <sys/syscall.h>
@@ -54,6 +55,7 @@ static bool ufd_version_check(void)
g_test_message("Skipping test: UFFDIO_API failed");
return false;
}
+ uffd_feature_thread_id = api_struct.features & UFFD_FEATURE_THREAD_ID;
ioctl_mask = (__u64)1 << _UFFDIO_REGISTER |
(__u64)1 << _UFFDIO_UNREGISTER;
@@ -266,6 +268,16 @@ static uint64_t get_migration_pass(QTestState *who)
return result;
}
+static void read_blocktime(QTestState *who)
+{
+ QDict *rsp, *rsp_return;
+
+ rsp = wait_command(who, "{ 'execute': 'query-migrate' }");
+ rsp_return = qdict_get_qdict(rsp, "return");
+ g_assert(qdict_haskey(rsp_return, "postcopy-blocktime"));
+ QDECREF(rsp);
+}
+
static void wait_for_migration_complete(QTestState *who)
{
QDict *rsp, *rsp_return;
@@ -525,6 +537,7 @@ static void test_migrate(void)
migrate_set_capability(from, "postcopy-ram", "true");
migrate_set_capability(to, "postcopy-ram", "true");
+ migrate_set_capability(to, "postcopy-blocktime", "true");
/* We want to pick a speed slow enough that the test completes
* quickly, but that it doesn't complete precopy even on a slow
@@ -553,6 +566,9 @@ static void test_migrate(void)
wait_for_serial("dest_serial");
wait_for_migration_complete(from);
+ if (uffd_feature_thread_id) {
+ read_blocktime(to);
+ }
g_free(uri);
test_migrate_end(from, to);
--
2.14.3
- [Qemu-devel] [PULL 02/27] migration: print features as on off, (continued)
- [Qemu-devel] [PULL 02/27] migration: print features as on off, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 01/27] migration: Use proper types in json, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 03/27] migration: free addr in the same function that we created it, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 05/27] migration: free result string, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 04/27] docs: Convert migration.txt to rst, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 06/27] migration: fix analyze-migration.py script with radix table, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 07/27] migration: introduce postcopy-blocktime capability, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 08/27] migration: add postcopy blocktime ctx into MigrationIncomingState, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 09/27] migration: calculate vCPU blocktime on dst side, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 10/27] migration: postcopy_blocktime documentation, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 11/27] migration: add blocktime calculation into migration-test,
Juan Quintela <=
- [Qemu-devel] [PULL 12/27] migration: add postcopy total blocktime into query-migrate, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 13/27] migration: Guard ram_bytes_remaining against early call, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 14/27] migration: finalize current_migration object, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 16/27] migration: qemu_savevm_state_cleanup() in cleanup, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 15/27] migration: assert colo instead of check, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 17/27] migration: remove "enable_colo" var, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 18/27] migration: split use of MigrationState.total_time, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 19/27] migration: move vm_old_running into global state, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 20/27] migration: introduce downtime_start, Juan Quintela, 2018/01/15
- [Qemu-devel] [PULL 21/27] migration: introduce migrate_calculate_complete, Juan Quintela, 2018/01/15