]> git.proxmox.com Git - mirror_qemu.git/commit - replay/replay-audio.c
replay: push replay_mutex_lock up the call tree
authorAlex Bennée <alex.bennee@linaro.org>
Tue, 27 Feb 2018 09:52:48 +0000 (12:52 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 12 Mar 2018 16:10:36 +0000 (17:10 +0100)
commitd759c951f3287fad04210a52f2dc93f94cf58c7f
tree5af67500a854ba2e25bc7690bf346bf3c2bbb810
parent1a423896fa4fc2ea49c64e7a493d88a8b251950d
replay: push replay_mutex_lock up the call tree

Now instead of using the replay_lock to guard the output of the log we
now use it to protect the whole execution section. This replaces what
the BQL used to do when it was held during TCG execution.

We also introduce some rules for locking order - mainly that you
cannot take the replay_mutex while holding the BQL. This leads to some
slight sophistry during start-up and extending the
replay_mutex_destroy function to unlock the mutex without checking
for the BQL condition so it can be cleanly dropped in the non-replay
case.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Tested-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Message-Id: <20180227095248.1060.40374.stgit@pasha-VirtualBox>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
cpus.c
docs/replay.txt
replay/replay-audio.c
replay/replay-char.c
replay/replay-events.c
replay/replay-internal.c
replay/replay-time.c
replay/replay.c
util/main-loop.c
vl.c