summary refs log tree commit diff stats
path: root/stubs/replay-tools.c
diff options
context:
space:
mode:
authorPavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>2021-02-16 15:51:44 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2021-02-16 17:15:39 +0100
commit366a85e4bb748794b1ae0ca0ccc2d95f316679a0 (patch)
treeccbf65483b2908cc8ea997c735ca3cebe1510319 /stubs/replay-tools.c
parent82e2756897810b6e17e0c352101878b97b1e2688 (diff)
downloadfocaccia-qemu-366a85e4bb748794b1ae0ca0ccc2d95f316679a0.tar.gz
focaccia-qemu-366a85e4bb748794b1ae0ca0ccc2d95f316679a0.zip
replay: fix icount request when replaying clock access
Record/replay provides REPLAY_CLOCK_LOCKED macro to access
the clock when vm_clock_seqlock is locked. This macro is
needed because replay internals operate icount. In locked case
replay use icount_get_raw_locked for icount request, which prevents
excess locking which leads to deadlock. But previously only
record code used *_locked function and replay did not.
Therefore sometimes clock access lead to deadlocks.
This patch fixes clock access for replay too and uses *_locked
icount access function.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Message-Id: <161347990483.1313189.8371838968343494161.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'stubs/replay-tools.c')
-rw-r--r--stubs/replay-tools.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/stubs/replay-tools.c b/stubs/replay-tools.c
index c06b360e22..43296b3d4e 100644
--- a/stubs/replay-tools.c
+++ b/stubs/replay-tools.c
@@ -13,7 +13,7 @@ int64_t replay_save_clock(unsigned int kind, int64_t clock, int64_t raw_icount)
     return 0;
 }
 
-int64_t replay_read_clock(unsigned int kind)
+int64_t replay_read_clock(unsigned int kind, int64_t raw_icount)
 {
     abort();
     return 0;