diff options
author | Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru> | 2021-02-16 15:51:44 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-02-16 17:15:39 +0100 |
commit | 366a85e4bb748794b1ae0ca0ccc2d95f316679a0 (patch) | |
tree | ccbf65483b2908cc8ea997c735ca3cebe1510319 /stubs | |
parent | 82e2756897810b6e17e0c352101878b97b1e2688 (diff) | |
download | qemu-366a85e4bb748794b1ae0ca0ccc2d95f316679a0.zip qemu-366a85e4bb748794b1ae0ca0ccc2d95f316679a0.tar.gz qemu-366a85e4bb748794b1ae0ca0ccc2d95f316679a0.tar.bz2 |
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')
-rw-r--r-- | stubs/replay-tools.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/stubs/replay-tools.c b/stubs/replay-tools.c index c06b360..43296b3 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; |