From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO7rX-0000mz-9y for qemu-devel@nongnu.org; Tue, 26 Jan 2016 12:57:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aO7rW-0002Xe-H1 for qemu-devel@nongnu.org; Tue, 26 Jan 2016 12:57:07 -0500 Received: from mail-oi0-x235.google.com ([2607:f8b0:4003:c06::235]:34854) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO7rW-0002XB-8e for qemu-devel@nongnu.org; Tue, 26 Jan 2016 12:57:06 -0500 Received: by mail-oi0-x235.google.com with SMTP id p187so110160178oia.2 for ; Tue, 26 Jan 2016 09:57:05 -0800 (PST) References: <1453824953-27230-1-git-send-email-pbonzini@redhat.com> <20160126182054-mutt-send-email-mst@redhat.com> From: Corey Minyard Message-ID: <56A7B36E.9070409@mvista.com> Date: Tue, 26 Jan 2016 11:57:02 -0600 MIME-Version: 1.0 In-Reply-To: <20160126182054-mutt-send-email-mst@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] ipmi: do not take/drop iothread lock List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" , Paolo Bonzini Cc: qemu-devel@nongnu.org On 01/26/2016 10:21 AM, Michael S. Tsirkin wrote: > On Tue, Jan 26, 2016 at 05:15:53PM +0100, Paolo Bonzini wrote: >> This is not necessary and actually causes a hang; it was probably copied >> and pasted from KVM code, that is one of the very few places that run >> outside iothread lock. >> >> Signed-off-by: Paolo Bonzini > Makes sense. I wonder how hard would it be to have a test to catch this. The IPMI side would be easy for me, but I don't know how to handle catching the NMI. -corey >> --- >> hw/ipmi/ipmi.c | 2 -- >> 1 file changed, 2 deletions(-) >> >> diff --git a/hw/ipmi/ipmi.c b/hw/ipmi/ipmi.c >> index 52aba1e..fcba0ca 100644 >> --- a/hw/ipmi/ipmi.c >> +++ b/hw/ipmi/ipmi.c >> @@ -50,9 +50,7 @@ static int ipmi_do_hw_op(IPMIInterface *s, enum ipmi_op op, int checkonly) >> if (checkonly) { >> return 0; >> } >> - qemu_mutex_lock_iothread(); >> qmp_inject_nmi(NULL); >> - qemu_mutex_unlock_iothread(); >> return 0; >> >> case IPMI_POWERCYCLE_CHASSIS: >> -- >> 2.5.0