Use SIGUSR1 unconditionally as SIG_IPI. First, ucontext coroutines tend to corrupt RT signal masks due to a 32-on-64-bit Linux kernel bug. And, second, there appears to be no advantage in using RT signals for VCPU kicking.
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- As people prefer to stick with ucontext, this replaces the backend switch for i386-linux. Avi, you once committed the RT signal based SIG_IPI version to qemu-kvm. Can you confirm that SIGUSR1 comes with no downside? This is also stable material. main-loop.h | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) diff --git a/main-loop.h b/main-loop.h index c06b8bc..dce1cd9 100644 --- a/main-loop.h +++ b/main-loop.h @@ -25,11 +25,7 @@ #ifndef QEMU_MAIN_LOOP_H #define QEMU_MAIN_LOOP_H 1 -#ifdef SIGRTMIN -#define SIG_IPI (SIGRTMIN+4) -#else #define SIG_IPI SIGUSR1 -#endif /** * qemu_init_main_loop: Set up the process so that it can run the main loop. -- 1.7.3.4