From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:52989) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiG7t-0006Q9-6h for qemu-devel@nongnu.org; Tue, 03 Jan 2012 20:58:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RiG7r-0004Ke-Hh for qemu-devel@nongnu.org; Tue, 03 Jan 2012 20:58:49 -0500 Received: from cantor2.suse.de ([195.135.220.15]:46356 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RiG7r-0004KY-7s for qemu-devel@nongnu.org; Tue, 03 Jan 2012 20:58:47 -0500 From: Alexander Graf Date: Wed, 4 Jan 2012 03:13:12 +0100 Message-Id: <1325643192-15941-7-git-send-email-agraf@suse.de> In-Reply-To: <1325643192-15941-1-git-send-email-agraf@suse.de> References: <1325643192-15941-1-git-send-email-agraf@suse.de> Subject: [Qemu-devel] [PATCH 6/6] s390: fix cpu hotplug / cpu activity on interrupts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org Developers" Cc: Blue Swirl , Christian Borntraeger , Aurelien Jarno 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 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 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, return; } - s390_add_running_cpu(env); - qemu_cpu_kick(env); - kvmint.type = type; kvmint.parm = parm; kvmint.parm64 = parm64; -- 1.6.0.2