aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2011-11-20 23:12:03 +0000
committerAlexander Graf <agraf@suse.de>2012-01-12 18:41:08 +0100
commitd194ba1cdbeee54166845b75f9186a8e401e5f07 (patch)
tree85a429504698220be77ef27f538e107981f4fe93
parent8a0a9cf35bd1abc7a9a11f430a6b14e034f34ba0 (diff)
s390: fix cpu hotplug / cpu activity on interrupts
The add_del/running_cpu code and env->halted are tracking stopped cpus. Sleeping cpus (idle and enabled for interrupts) are waiting inside the kernel. 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<borntraeger@de.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de> (cherry picked from commit 93116ac0cf9734e7b28886aedf03848b37d6785e)
-rw-r--r--target-s390x/kvm.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index 40b0ab1922..b1404bfd2f 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,
return;
}
- s390_add_running_cpu(env);
- qemu_cpu_kick(env);
-
kvmint.type = type;
kvmint.parm = parm;
kvmint.parm64 = parm64;