From 4af246a34e3155365e6be9dda201f3467d0498d9 Mon Sep 17 00:00:00 2001 From: Peter Xu Date: Wed, 3 Jan 2018 20:20:08 +0800 Subject: migration: split use of MigrationState.total_time It was used either to: 1. store initial timestamp of migration start, and 2. store total time used by last migration Let's provide two parameters for each of them. Mix use of the two is slightly misleading. Signed-off-by: Peter Xu Reviewed-by: Juan Quintela Signed-off-by: Juan Quintela --- migration/migration.c | 7 ++++--- migration/migration.h | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'migration') diff --git a/migration/migration.c b/migration/migration.c index 0b513c2020..23f6e5092c 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -619,7 +619,7 @@ static void fill_source_migration_info(MigrationInfo *info) info->has_status = true; info->has_total_time = true; info->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME) - - s->total_time; + - s->start_time; info->has_expected_downtime = true; info->expected_downtime = s->expected_downtime; info->has_setup_time = true; @@ -1300,7 +1300,8 @@ MigrationState *migrate_init(void) migrate_set_state(&s->state, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP); - s->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); + s->start_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); + s->total_time = 0; return s; } @@ -2332,7 +2333,7 @@ static void *migration_thread(void *opaque) qemu_mutex_lock_iothread(); if (s->state == MIGRATION_STATUS_COMPLETED) { uint64_t transferred_bytes = qemu_ftell(s->to_dst_file); - s->total_time = end_time - s->total_time; + s->total_time = end_time - s->start_time; if (!entered_postcopy) { s->downtime = end_time - start_time; } diff --git a/migration/migration.h b/migration/migration.h index d84bc550b1..d1132b1cf7 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -115,6 +115,9 @@ struct MigrationState } rp_state; double mbps; + /* Timestamp when recent migration starts (ms) */ + int64_t start_time; + /* Total time used by latest migration (ms) */ int64_t total_time; int64_t downtime; int64_t expected_downtime; -- cgit v1.2.1