qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty


From: Pavel Dovgalyuk
Subject: Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue
Date: Thu, 4 May 2017 15:10:43 +0300

> From: Paolo Bonzini [mailto:address@hidden
> On 04/05/2017 13:54, Pavel Dovgalyuk wrote:
> >> From: Paolo Bonzini [mailto:address@hidden
> >> On 04/05/2017 13:13, Pavel Dovgalyuk wrote:
> >>>>> This patch does not allows saving/loading vmstate when
> >>>>> replay events queue is not empty. There is no reliable
> >>>>> way to save events queue, because it describes internal
> >>>>> coroutine state. Therefore saving and loading operations
> >>>>> should be deferred to another record/replay step.
> >>>>
> >>>> Can it actually be non-empty after bdrv_drain_all?
> >>>
> >>> drain/flush cannot succeed, because started requests are
> >>> prisoned in the replay events queue.
> >>
> >> But that would apply to loading only.  Saving should still be always
> >> possible.
> >
> > We can save it. But it wouldn't load correctly - replay queue will be empty 
> > after loading.
> 
> When saving you can drain, and then the events queue should be empty.
> Or I am misunderstanding how it works, which is possible too.

Drain will wait until the queue becomes empty.
Queue is processed only at checkpoints.
Checkpoints are met in iothread (at timers processing and so on).
But iothread is waiting for finishing the drain.

Pavel Dovgalyuk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]