@@ -3316,7 +3316,7 @@ static void *migration_thread(void *opaque)
{
MigrationState *s = opaque;
MigrationThread *thread = NULL;
- int64_t setup_start = qemu_clock_get_ms(QEMU_CLOCK_HOST);
+ int64_t setup_start = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
MigThrError thr_error;
bool urgent = false;
@@ -3368,7 +3368,7 @@ static void *migration_thread(void *opaque)
qemu_savevm_wait_unplug(s, MIGRATION_STATUS_SETUP,
MIGRATION_STATUS_ACTIVE);
- s->setup_time = qemu_clock_get_ms(QEMU_CLOCK_HOST) - setup_start;
+ s->setup_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME) - setup_start;
trace_migration_thread_setup_complete();
@@ -3447,7 +3447,7 @@ static void *bg_migration_thread(void *opaque)
migration_rate_set(RATE_LIMIT_DISABLED);
- setup_start = qemu_clock_get_ms(QEMU_CLOCK_HOST);
+ setup_start = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
/*
* We want to save vmstate for the moment when migration has been
* initiated but also we want to save RAM content while VM is running.
@@ -3480,7 +3480,7 @@ static void *bg_migration_thread(void *opaque)
qemu_savevm_wait_unplug(s, MIGRATION_STATUS_SETUP,
MIGRATION_STATUS_ACTIVE);
- s->setup_time = qemu_clock_get_ms(QEMU_CLOCK_HOST) - setup_start;
+ s->setup_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME) - setup_start;
trace_migration_thread_setup_complete();
migration_downtime_start(s);
Migration reads host clocks when not holding the replay_mutex, which asserts when recording a trace. It seems that the times should be host times like other statistics in MigrationState, so this can easily be converted. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- migration/migration.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)