]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
Revert "tcg/user: do not set exit_request gratuitously"
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 2 Feb 2026 09:17:53 +0000 (10:17 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Fri, 6 Feb 2026 06:51:09 +0000 (16:51 +1000)
This reverts commit b422a7bff64eaf55b8250225533ca1df42c3777e.

The reporter says "The commit breaks go; if you run go build in a loop,
it eventually hangs uninterruptible (except -9) with a couple of zombie
children left over".

Reported-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20260202091753.28459-1-pbonzini@redhat.com>

accel/tcg/cpu-exec.c

index 7c20d9db122e5a1361fb71c64a9b80a6969845b4..ad94f96b2521f3b1f3ad230a2b6ee0b4dbf84216 100644 (file)
@@ -751,7 +751,6 @@ static inline bool cpu_handle_exception(CPUState *cpu, int *ret)
 
 void tcg_kick_vcpu_thread(CPUState *cpu)
 {
-#ifndef CONFIG_USER_ONLY
     /*
      * Ensure cpu_exec will see the reason why the exit request was set.
      * FIXME: this is not always needed.  Other accelerators instead
@@ -759,7 +758,6 @@ void tcg_kick_vcpu_thread(CPUState *cpu)
      * CPU thread; see kvm_arch_pre_run() for example.
      */
     qatomic_store_release(&cpu->exit_request, true);
-#endif
 
     /* Ensure cpu_exec will see the exit request after TCG has exited.  */
     qatomic_store_release(&cpu->neg.icount_decr.u16.high, -1);