[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stable-9.0.3 67/69] Revert "replay: stop us hanging in rr_wait_io_event
From: |
Michael Tokarev |
Subject: |
[Stable-9.0.3 67/69] Revert "replay: stop us hanging in rr_wait_io_event" |
Date: |
Fri, 6 Sep 2024 14:13:16 +0300 |
From: Nicholas Piggin <npiggin@gmail.com>
This reverts commit 1f881ea4a444ef36a8b6907b0b82be4b3af253a2.
That commit causes reverse_debugging.py test failures, and does
not seem to solve the root cause of the problem x86-64 still
hangs in record/replay tests.
The problem with short-cutting the iowait that was taken during
record phase is that related events will not get consumed at the
same points (e.g., reading the clock).
A hang with zero icount always seems to be a symptom of an earlier
problem that has caused the recording to become out of synch with
the execution and consumption of events by replay.
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20240813050638.446172-6-npiggin@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240813202329.1237572-14-alex.bennee@linaro.org>
(cherry picked from commit 94962ff00d09674047aed896e87ba09736cd6941)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/2524
diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c
index 894e73e52c..a942442a33 100644
--- a/accel/tcg/tcg-accel-ops-rr.c
+++ b/accel/tcg/tcg-accel-ops-rr.c
@@ -109,7 +109,7 @@ static void rr_wait_io_event(void)
{
CPUState *cpu;
- while (all_cpu_threads_idle() && replay_can_wait()) {
+ while (all_cpu_threads_idle()) {
rr_stop_kick_timer();
qemu_cond_wait_bql(first_cpu->halt_cond);
}
diff --git a/include/sysemu/replay.h b/include/sysemu/replay.h
index f229b2109c..8102fa54f0 100644
--- a/include/sysemu/replay.h
+++ b/include/sysemu/replay.h
@@ -73,11 +73,6 @@ int replay_get_instructions(void);
/*! Updates instructions counter in replay mode. */
void replay_account_executed_instructions(void);
-/**
- * replay_can_wait: check if we should pause for wait-io
- */
-bool replay_can_wait(void);
-
/* Processing clocks and other time sources */
/*! Save the specified clock */
diff --git a/replay/replay.c b/replay/replay.c
index a2c576c16e..325e275756 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -449,27 +449,6 @@ void replay_start(void)
replay_enable_events();
}
-/*
- * For none/record the answer is yes.
- */
-bool replay_can_wait(void)
-{
- if (replay_mode == REPLAY_MODE_PLAY) {
- /*
- * For playback we shouldn't ever be at a point we wait. If
- * the instruction count has reached zero and we have an
- * unconsumed event we should go around again and consume it.
- */
- if (replay_state.instruction_count == 0 &&
replay_state.has_unread_data) {
- return false;
- } else {
- replay_sync_error("Playback shouldn't have to iowait");
- }
- }
- return true;
-}
-
-
void replay_finish(void)
{
if (replay_mode == REPLAY_MODE_NONE) {
--
2.39.2
- [Stable-9.0.3 58/69] module: Prevent crash by resetting local_err in module_load_qom_all(), (continued)
- [Stable-9.0.3 58/69] module: Prevent crash by resetting local_err in module_load_qom_all(), Michael Tokarev, 2024/09/06
- [Stable-9.0.3 59/69] target/hexagon: don't look for static glib, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 60/69] linux-user: Preserve NULL hit in target_mmap subroutines, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 61/69] target/sparc: Restrict STQF to sparcv9, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 62/69] crypto/tlscredspsk: Free username on finalize, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 63/69] hw/nvme: fix leak of uninitialized memory in io_mgmt_recv, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 64/69] virtio-pci: Fix the use of an uninitialized irqfd, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 65/69] migration/multifd: Free MultiFDRecvParams::data, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 66/69] linux-user: Handle short reads in mmap_h_gt_g, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 68/69] hw/audio/virtio-snd: fix invalid param check, Michael Tokarev, 2024/09/06
- [Stable-9.0.3 67/69] Revert "replay: stop us hanging in rr_wait_io_event",
Michael Tokarev <=
- [Stable-9.0.3 69/69] target/hppa: Fix PSW V-bit packaging in cpu_hppa_get for hppa64, Michael Tokarev, 2024/09/06