qemu/replay
Pavel Dovgalyuk 677a3baba4 replay: synchronize on every virtual timer callback
Sometimes virtual timer callbacks depend on order
of virtual timer processing and warping of virtual clock.
Therefore every callback should be logged to make replay deterministic.
This patch creates a checkpoint before every virtual timer callback.
With these checkpoints virtual timers processing and clock warping
events order is completely deterministic.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Acked-by: Alex Bennée <alex.bennee@linaro.org>

--

v2:
  - remove mutex lock/unlock for virtual clock checkpoint since it is
    not process any asynchronous events (commit ca9759c2a9)
  - bump record/replay log file version
Message-Id: <159012932716.27256.8854065545365559921.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-06-26 06:45:30 -04:00
..
Makefile.objs replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
replay-audio.c audio: use size_t where makes sense 2019-08-21 09:13:37 +02:00
replay-char.c
replay-events.c replay: add BH oneshot event for block layer 2019-10-14 17:12:48 +02:00
replay-input.c
replay-internal.c replay: implement fair mutex 2020-06-10 12:10:47 -04:00
replay-internal.h replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
replay-net.c
replay-random.c replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
replay-snapshot.c replay: rename step-related variables and functions 2019-08-20 17:26:22 +02:00
replay-time.c replay: rename step-related variables and functions 2019-08-20 17:26:22 +02:00
replay.c replay: synchronize on every virtual timer callback 2020-06-26 06:45:30 -04:00