Patchwork [6/6] s390: fix cpu hotplug / cpu activity on interrupts

mail settings
Submitter Alexander Graf
Date Jan. 4, 2012, 2:13 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/134185/
State New
Headers show


Alexander Graf - Jan. 4, 2012, 2:13 a.m.
From: Christian Borntraeger <>

The add_del/running_cpu code and env->halted are tracking stopped cpus.
Sleeping cpus (idle and enabled for interrupts) are waiting inside the
No interrupt besides the restart can move a cpu from stopped to
operational. This is already handled over there. So lets just remove
the bogus wakup from the common interrupt delivery, otherwise any
interrupt will wake up a cpu, even if this cpu is stopped (Thus leading
to strange hangs on sigp restart)

This fixes
echo 0 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu0/online
in the guest

Signed-off-by: Christian Borntraeger<>
Signed-off-by: Alexander Graf <>
 target-s390x/kvm.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)


diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index 40b0ab1..b1404bf 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -185,9 +185,6 @@  void kvm_s390_interrupt_internal(CPUState *env, int type, uint32_t parm,
-    s390_add_running_cpu(env);
-    qemu_cpu_kick(env);
     kvmint.type = type;
     kvmint.parm = parm;
     kvmint.parm64 = parm64;