Commit 460da0e55c for qemu.org
commit 460da0e55c31694156d545097569e1e14052cd46
Author: Richard Henderson <richard.henderson@linaro.org>
Date: Wed Sep 23 15:06:52 2026 -0700
accel/tcg: Set CF_NOIRQ during cpu_exec_step_atomic
Do not go through the effort of grabbing the exclusive lock
only to check for interrupts and exit without making progress.
Cc: qemu-stable@nongnu.org
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Helge Deller <deller@gmx.de>
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 5226cfb765..f4428e9f7b 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -566,7 +566,8 @@ void cpu_exec_step_atomic(CPUState *cpu)
/* Execute in a serial context. */
s.cflags &= ~CF_PARALLEL;
/* After 1 insn, return and release the exclusive lock. */
- s.cflags |= CF_NO_GOTO_TB | CF_NO_GOTO_PTR | 1;
+ s.cflags |= CF_NO_GOTO_TB | CF_NO_GOTO_PTR | CF_NOIRQ | 1;
+
/*
* No need to check_for_breakpoints here.
* We only arrive in cpu_exec_step_atomic after beginning execution