[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/13] migration: split use of MigrationState.tot
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v2 04/13] migration: split use of MigrationState.total_time |
Date: |
Wed, 3 Jan 2018 20:20:08 +0800 |
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 <address@hidden>
---
migration/migration.c | 7 ++++---
migration/migration.h | 3 +++
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 9ba96ae301..343368c089 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -613,7 +613,7 @@ MigrationInfo *qmp_query_migrate(Error **errp)
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;
@@ -1270,7 +1270,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;
}
@@ -2293,7 +2294,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 663415fe48..233ad68705 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -103,6 +103,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;
--
2.14.3
- [Qemu-devel] [PATCH v2 00/13] migration: cleanup migration_thread(), Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 01/13] migration: assert colo instead of check, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 02/13] migration: qemu_savevm_state_cleanup() in cleanup, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 03/13] migration: remove "enable_colo" var, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 04/13] migration: split use of MigrationState.total_time,
Peter Xu <=
- [Qemu-devel] [PATCH v2 05/13] migration: move vm_old_running into global state, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 06/13] migration: introduce downtime_start, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 07/13] migration: introduce migrate_calculate_complete, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 08/13] migration: use switch at the end of migration, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 09/13] migration: cleanup stats update into function, Peter Xu, 2018/01/03
- [Qemu-devel] [PATCH v2 10/13] migration: major cleanup for migrate iterations, Peter Xu, 2018/01/03