> From: Paolo Bonzini [mailto:pbonz...@redhat.com]
> On 19/01/2015 13:43, Pavel Dovgaluk wrote:
> > > For example, why can't replay_run_event (or something
> > > that it calls) take the replay lock locally, when it writes to the log?
> >
> > replay_run_event can take the lock. Suppose that it writes data 'A'.
> > replay_run_event itself corresponds to some event 'E'.
> > We expect that the following sequence of the events should occur: 'E', 'A'.
> > But if something will be written to the log between 'E' and 'A' then
> > replay_run_event in replay mode will stuck, because it will not see its 
> > data 'A'.
> 
> It would be easier if you pointed me to actual code in the series.  But
> this doesn't seem impossible to fix by atomically writing the 'E' and
> 'A' in the same critical section.

Because 'A' is written only inside some of the replay_run_event callbacks.
It depends on type of the event and it's processing function inside the QEMU 
core.
There could be no 'A' at all.

Pavel Dovgalyuk


Reply via email to