diff options
author | Peter Xu <peterx@redhat.com> | 2023-10-30 12:33:42 -0400 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2023-11-01 16:13:58 +0100 |
commit | 62f5da7dd10a594fb30cebb5569dc738456f7131 (patch) | |
tree | a855f570ec8cf9bfe2cead8ba9eea211bce13583 /migration | |
parent | c64a59552e44fbae22a565eec3632df59e79d57c (diff) | |
download | qemu-62f5da7dd10a594fb30cebb5569dc738456f7131.zip qemu-62f5da7dd10a594fb30cebb5569dc738456f7131.tar.gz qemu-62f5da7dd10a594fb30cebb5569dc738456f7131.tar.bz2 |
migration: Set downtime_start even for postcopy
Postcopy calculates its downtime separately. It always sets
MigrationState.downtime properly, but not MigrationState.downtime_start.
Make postcopy do the same as other modes on properly recording the
timestamp when the VM is going to be stopped. Drop the temporary variable
in postcopy_start() along the way.
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231030163346.765724-2-peterx@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r-- | migration/migration.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/migration/migration.c b/migration/migration.c index 6abcbef..6dcdc5b 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2126,7 +2126,6 @@ static int postcopy_start(MigrationState *ms, Error **errp) int ret; QIOChannelBuffer *bioc; QEMUFile *fb; - int64_t time_at_stop = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); uint64_t bandwidth = migrate_max_postcopy_bandwidth(); bool restart_block = false; int cur_state = MIGRATION_STATUS_ACTIVE; @@ -2148,6 +2147,8 @@ static int postcopy_start(MigrationState *ms, Error **errp) qemu_mutex_lock_iothread(); trace_postcopy_start_set_run(); + ms->downtime_start = qemu_clock_get_ms(QEMU_CLOCK_REALTIME); + qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER, NULL); global_state_store(); ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); @@ -2250,7 +2251,7 @@ static int postcopy_start(MigrationState *ms, Error **errp) ms->postcopy_after_devices = true; migration_call_notifiers(ms); - ms->downtime = qemu_clock_get_ms(QEMU_CLOCK_REALTIME) - time_at_stop; + ms->downtime = qemu_clock_get_ms(QEMU_CLOCK_REALTIME) - ms->downtime_start; qemu_mutex_unlock_iothread(); |