Re: [QEMU PATCH] kvmclock: advance clock by time window between vm_stop and pre_save

Dr. David Alan Gilbert
2016-11-07T13:08:32Z

* Radim Krčmář (rkrcmar@redhat.com) wrote:
> 2016-11-04 15:07-0200, Marcelo Tosatti:
> > On Fri, Nov 04, 2016 at 04:25:23PM +0100, Radim Krčmář wrote:
> >> > + /*
> >> > + * Transition from VM-running to VM-stopped via migration?
> >> > + * Record when the VM was stopped.
> >> > + */
> >> > +
> >> > + if (state == RUN_STATE_FINISH_MIGRATE &&
> >> > + !migration_in_postcopy(migrate_get_current())) {
> >> > + clock_gettime(CLOCK_MONOTONIC, &s->t_aftervmstop);
> >>
> >> How big (more like small) was the clock delta between here and
> >> kvmclock_pre_save with postcopy?
> >>
> >> Thanks.
> >
> > qemu-system-x86_64: postcopy_ram_supported_by_host: userfaultfd not
> > available: Function not implemented
> >
> > But should be about the same as precopy+this patch (guess as i don't
> > know the postcopy path).
>
> I was wondering about the improvement we could achieve by not excluding
> postcopy from the time fixup. (i.e. how much time elapses between
> pausing and migrating the vm in postcopy)
>
> I would also guess that it is not significant.

It can add up, so it would be useful to be able to do this trick.
We have to calculate and send some 'discard maps' that can take
some time, especially on larger VMs, and we also have to serialise
the state of all non-RAM devices, so if you have a lot of other
emulated devices it can take a bit more time.

Dave

--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK