summaryrefslogtreecommitdiffstats
path: root/replay
diff options
context:
space:
mode:
authorPavel Dovgalyuk2020-05-22 08:35:27 +0200
committerPaolo Bonzini2020-06-26 12:45:30 +0200
commit677a3baba4356b91c7acfb5828dd9a598decda6a (patch)
treea4eaefc4f0504a9ef9498fa05e6b8ed4665cf1d4 /replay
parentreplay: notify the main loop when there are no instructions (diff)
downloadqemu-677a3baba4356b91c7acfb5828dd9a598decda6a.tar.gz
qemu-677a3baba4356b91c7acfb5828dd9a598decda6a.tar.xz
qemu-677a3baba4356b91c7acfb5828dd9a598decda6a.zip
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 ca9759c2a92f528f256fef0e3922416f7bb47bf9) - bump record/replay log file version Message-Id: <159012932716.27256.8854065545365559921.stgit@pasha-ThinkPad-X280> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'replay')
-rw-r--r--replay/replay.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/replay/replay.c b/replay/replay.c
index 7d93746c73..83ed9e0e24 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -22,7 +22,7 @@
/* Current version of the replay mechanism.
Increase it when file format changes. */
-#define REPLAY_VERSION 0xe02009
+#define REPLAY_VERSION 0xe0200a
/* Size of replay log header */
#define HEADER_SIZE (sizeof(uint32_t) + sizeof(uint64_t))