On 17/10/2018 15:20, Pavel Dovgalyuk wrote:
> I found the source of the bug. As QEMU becomes more multi-threaded
> and non-synchronized, checkpoints move from thread to thread. And the
> event queue that processed at checkpoints should belong to the same
> thread in both record and replay executions.
> 
> Current problem was with the checkpoint for virtual timers. They are
> processed from different threads: from vCPU and from aio_dispatch
> function.
> 
> Therefore the following patch fixes the problem, but I think that
> this part has to be refactored. There should be nailed-to-thread
> events that process the event queue. Then checkpoints can become just
> synchronization events and therefore omitted for empty timer lists,
> for example.

Can you add a FIXME comment and submit this as a full patch?

Paolo

Reply via email to