Skip to content

Commit

Permalink
migration: Set downtime_start even for postcopy
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
xzpeter authored and Juan Quintela committed Nov 1, 2023
1 parent c64a595 commit 62f5da7
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions migration/migration.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down Expand Up @@ -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();

Expand Down

0 comments on commit 62f5da7

Please sign in to comment.