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

Reply via email to