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) Signed-off-by: Michael Tokarev <[email protected]> diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index ad94f96b252..fdc65c1c33a 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -563,7 +563,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 -- 2.47.3
