From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51520 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PhfLs-0001z2-Kn for qemu-devel@nongnu.org; Tue, 25 Jan 2011 04:38:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PhfLr-0003Dn-4A for qemu-devel@nongnu.org; Tue, 25 Jan 2011 04:38:16 -0500 Received: from mail-fx0-f45.google.com ([209.85.161.45]:43031) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PhfLq-0003DW-Py for qemu-devel@nongnu.org; Tue, 25 Jan 2011 04:38:15 -0500 Received: by fxm12 with SMTP id 12so5257471fxm.4 for ; Tue, 25 Jan 2011 01:38:14 -0800 (PST) Date: Tue, 25 Jan 2011 10:17:41 +0100 From: "Edgar E. Iglesias" Subject: Re: [Qemu-devel] Re: [PATCH 2/7] Enable I/O thread and VNC threads by default Message-ID: <20110125091741.GB30239@edde.se.axis.com> References: <1295902845-29807-1-git-send-email-aliguori@us.ibm.com> <1295902845-29807-3-git-send-email-aliguori@us.ibm.com> <4D3DFD20.8060004@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D3DFD20.8060004@linux.vnet.ibm.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Anthony Liguori , Stefan Hajnoczi , Marcelo Tosatti , qemu-devel@nongnu.org, Paul Brook , Arun Bharadwaj , Paulo Bonzini On Mon, Jan 24, 2011 at 04:28:48PM -0600, Anthony Liguori wrote: > On 01/24/2011 03:00 PM, Anthony Liguori wrote: > > Leave the disable options for now to help with testing but these will be removed > > once we're confident in the thread implementations. > > > > Disabled code bit rots. These have been in tree long enough that we need to > > either commit to making them work or just remove them entirely. > > > > I/O thread disables icount apparently. > > I'm not really sure why. Marcelo, do you know the reason > qemu_calculate_timeout returns a fixed value in the I/O thread > regardless of icount? Hi, The following commit hopefully fixed that issue. commit 225d02cd1a34d5d87e8acefbf8e244a5d12f5f8c Author: Edgar E. Iglesias Date: Sun Jan 23 04:44:51 2011 +0100 Avoid deadlock whith iothread and icount When using the iothread together with icount, make sure the qemu_icount counter makes forward progress when the vcpu is idle to avoid deadlocks. Signed-off-by: Edgar E. Iglesias See http://lists.gnu.org/archive/html/qemu-devel/2011-01/msg01602.html for more info. One more thing I didn't mention on the email-thread or on IRC is that last time I checked, qemu with io-thread was performing significantly slower than non io-thread builds. That was with TCG emulation (not kvm). Somewhere between 5 - 10% slower, IIRC. Also, although -icount & iothread no longer deadlocks, icount still sometimes performs incredibly slow with the io-thread (compared to non-io-thread qemu). In particular when not using -icount auto but a fixed ticks per insn values. Sometimes it's so slow I thought it actually deadlocked, but no it was crawling :) I haven't had time to look at it any closer but I hope to do soon. These issues should be fixable though, so I'm not arguing against enabling it per default. Just mentioning what I've seen FYI.. Cheers