diff options
author | Michael R. Hines <mrhines@us.ibm.com> | 2013-07-22 10:01:58 -0400 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2013-07-23 13:06:37 +0200 |
commit | ed4fbd10823a7b0dbded6b481a68973e47f7e14d (patch) | |
tree | 188b76dd6afb611590a5b05e33253b1163a4499e /migration.c | |
parent | 29ae8a4133082e16970c9d4be09f4b6a15034617 (diff) |
rdma: account for the time spent in MIG_STATE_SETUP through QMP
Using the previous patches, we're now able to timestamp the SETUP
state. Once we have this time, let the user know about it in the
schema.
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration.c')
-rw-r--r-- | migration.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/migration.c b/migration.c index 636f7dbf6f..e12e7840e6 100644 --- a/migration.c +++ b/migration.c @@ -191,6 +191,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) case MIG_STATE_SETUP: info->has_status = true; info->status = g_strdup("setup"); + info->has_total_time = false; break; case MIG_STATE_ACTIVE: info->has_status = true; @@ -200,6 +201,8 @@ MigrationInfo *qmp_query_migrate(Error **errp) - s->total_time; info->has_expected_downtime = true; info->expected_downtime = s->expected_downtime; + info->has_setup_time = true; + info->setup_time = s->setup_time; info->has_ram = true; info->ram = g_malloc0(sizeof(*info->ram)); @@ -231,6 +234,8 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->total_time = s->total_time; info->has_downtime = true; info->downtime = s->downtime; + info->has_setup_time = true; + info->setup_time = s->setup_time; info->has_ram = true; info->ram = g_malloc0(sizeof(*info->ram)); @@ -539,6 +544,7 @@ static void *migration_thread(void *opaque) { MigrationState *s = opaque; int64_t initial_time = qemu_get_clock_ms(rt_clock); + int64_t setup_start = qemu_get_clock_ms(host_clock); int64_t initial_bytes = 0; int64_t max_size = 0; int64_t start_time = initial_time; @@ -547,8 +553,11 @@ static void *migration_thread(void *opaque) DPRINTF("beginning savevm\n"); qemu_savevm_state_begin(s->file, &s->params); + s->setup_time = qemu_get_clock_ms(host_clock) - setup_start; migrate_set_state(s, MIG_STATE_SETUP, MIG_STATE_ACTIVE); + DPRINTF("setup complete\n"); + while (s->state == MIG_STATE_ACTIVE) { int64_t current_time; uint64_t pending_size; |