[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 16:24:02 +0300 |
> From: Paolo Bonzini [mailto:address@hidden
> On 04/05/2017 15:02, Pavel Dovgalyuk wrote:
> >> Understood. And what checkpoint will you be waiting for during drain,
> >> causing a deadlock?
> > Every checkpoint processes the queue, but none of them are invoked,
> > because iothread (which invokes all the checkpoints) is waiting for the end
> > of the drain.
> >
> > And we cannot add a checkpoint into the drain, because then vmstop will
> > affect the behavior of the guest.
>
> But it does affect the behavior already when RR is off. And it
> shouldn't be a problem if it does in record mode (as long as the effect
> can be replayed).
Then we'll have to add something like "stop" event which flushes the queue.
And there is still a problem with stopping in replay mode, because there
is no way to flush the queue, because coroutines are executing somewhere.
> If RR cannot do drain reliably, not even in record mode, that is a huge
> problem because a lot of block layer operations assume they can.
I think it could be an acceptable limitation (like disabling savevm/loadvm
when queue is not empty).
I assume that RR is mostly used for debugging and analysis and it could
have some limitations of this kind.
Making our own block queue (instead of coroutines) is much worse, therefore
we have to replay the original internal behavior.
Pavel Dovgalyuk
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, (continued)
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Pavel Dovgalyuk, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Paolo Bonzini, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Pavel Dovgalyuk, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Paolo Bonzini, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Pavel Dovgalyuk, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Paolo Bonzini, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Pavel Dovgalyuk, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Paolo Bonzini, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Pavel Dovgalyuk, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue, Paolo Bonzini, 2017/05/04
- Re: [Qemu-devel] [PATCH v9 06/10] replay: fix save/load vm for non-empty queue,
Pavel Dovgalyuk <=
[Qemu-devel] [PATCH v9 07/10] replay: added replay log format description, Pavel Dovgalyuk, 2017/05/04
[Qemu-devel] [PATCH v9 08/10] replay: make safe vmstop at record/replay, Pavel Dovgalyuk, 2017/05/04
[Qemu-devel] [PATCH v9 09/10] replay: save prior value of the host clock, Pavel Dovgalyuk, 2017/05/04
[Qemu-devel] [PATCH v9 10/10] icount: fixed saving/restoring of icount warp timers, Pavel Dovgalyuk, 2017/05/04
Re: [Qemu-devel] [PATCH v9 00/10] replay additions, no-reply, 2017/05/04