From: Richard Henderson <[email protected]> Do not go through the effort of grabbing the exclusive lock only to check for interrupts and exit without making progress.
Cc: [email protected] Signed-off-by: Richard Henderson <[email protected]> Tested-by: Mikulas Patocka <[email protected]> Signed-off-by: Helge Deller <[email protected]> (cherry picked from commit 460da0e55c31694156d545097569e1e14052cd46) (Mjt: adjust for 10.0.x across v10.0.0-561-g4759aae43235 "accel/tcg: Return TCGTBCPUState from cpu_get_tb_cpu_state") Signed-off-by: Michael Tokarev <[email protected]> diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index ef3d967e3af..27f69b1a4a2 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -580,7 +580,7 @@ void cpu_exec_step_atomic(CPUState *cpu) /* Execute in a serial context. */ cflags &= ~CF_PARALLEL; /* After 1 insn, return and release the exclusive lock. */ - cflags |= CF_NO_GOTO_TB | CF_NO_GOTO_PTR | 1; + 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 -- 2.47.3
