Message ID | 20200515042818.17908-3-chen.zhang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | migration/colo: Optimize COLO framework code | expand |
Reviewed-by: zhanghailiang <zhang.zhanghailiang@huawei.com> Hmm, How much time it spends on preparing before COLO process ? > -----Original Message----- > From: Zhang Chen [mailto:chen.zhang@intel.com] > Sent: Friday, May 15, 2020 12:28 PM > To: Dr . David Alan Gilbert <dgilbert@redhat.com>; Juan Quintela > <quintela@redhat.com>; Zhanghailiang <zhang.zhanghailiang@huawei.com>; > qemu-dev <qemu-devel@nongnu.org> > Cc: Zhang Chen <zhangckid@gmail.com>; Jason Wang > <jasowang@redhat.com>; Zhang Chen <chen.zhang@intel.com> > Subject: [PATCH 2/3] migration/colo: Update checkpoint time lately > > From: Zhang Chen <chen.zhang@intel.com> > > Previous operation(like vm_start and replication_start_all) will consume > extra time for first forced synchronization, so reduce it in this patch. > > Signed-off-by: Zhang Chen <chen.zhang@intel.com> > --- > migration/colo.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/migration/colo.c b/migration/colo.c index > 5ef69b885d..d5bced22cb 100644 > --- a/migration/colo.c > +++ b/migration/colo.c > @@ -531,7 +531,6 @@ static void colo_process_checkpoint(MigrationState > *s) { > QIOChannelBuffer *bioc; > QEMUFile *fb = NULL; > - int64_t current_time = qemu_clock_get_ms(QEMU_CLOCK_HOST); > Error *local_err = NULL; > int ret; > > @@ -580,8 +579,8 @@ static void colo_process_checkpoint(MigrationState > *s) > qemu_mutex_unlock_iothread(); > trace_colo_vm_state_change("stop", "run"); > > - timer_mod(s->colo_delay_timer, > - current_time + s->parameters.x_checkpoint_delay); > + timer_mod(s->colo_delay_timer, > qemu_clock_get_ms(QEMU_CLOCK_HOST) + > + s->parameters.x_checkpoint_delay); > > while (s->state == MIGRATION_STATUS_COLO) { > if (failover_get_state() != FAILOVER_STATUS_NONE) { > -- > 2.17.1
diff --git a/migration/colo.c b/migration/colo.c index 5ef69b885d..d5bced22cb 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -531,7 +531,6 @@ static void colo_process_checkpoint(MigrationState *s) { QIOChannelBuffer *bioc; QEMUFile *fb = NULL; - int64_t current_time = qemu_clock_get_ms(QEMU_CLOCK_HOST); Error *local_err = NULL; int ret; @@ -580,8 +579,8 @@ static void colo_process_checkpoint(MigrationState *s) qemu_mutex_unlock_iothread(); trace_colo_vm_state_change("stop", "run"); - timer_mod(s->colo_delay_timer, - current_time + s->parameters.x_checkpoint_delay); + timer_mod(s->colo_delay_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) + + s->parameters.x_checkpoint_delay); while (s->state == MIGRATION_STATUS_COLO) { if (failover_get_state() != FAILOVER_STATUS_NONE) {