From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTC89-0007b1-KX for qemu-devel@nongnu.org; Mon, 07 Oct 2013 10:50:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTC80-0001tR-Ke for qemu-devel@nongnu.org; Mon, 07 Oct 2013 10:49:53 -0400 Received: from mail-ea0-x232.google.com ([2a00:1450:4013:c01::232]:55039) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTC80-0001t4-DO for qemu-devel@nongnu.org; Mon, 07 Oct 2013 10:49:44 -0400 Received: by mail-ea0-f178.google.com with SMTP id a15so3278632eae.23 for ; Mon, 07 Oct 2013 07:49:43 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5252CA02.60903@redhat.com> Date: Mon, 07 Oct 2013 16:49:38 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <20130923133930.GA10376@stefanha-thinkpad.redhat.com> <20130925085949.GA27290@stefanha-thinkpad.redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] ChrEMU - Virtualization in the Browser List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Peter Maydell , =?ISO-8859-1?Q?Alex_Benn=E9?= =?ISO-8859-1?Q?e?= , qemu-devel , Anthony Liguori , Joey Carlini Il 25/09/2013 16:02, Stefan Hajnoczi ha scritto: >>>> >>> I'm pretty sure coroutines would provide difficult to port too. >>> >> >>> >> The gthread backend should work since it doesn't use stack-switching. >> > >> > ...except that the gthread backend doesn't work for anything >> > except some nebulous testing scenarios. > If someone really needs the gthread backend, they can make it work. > > In a NaCl world, you don't have POSIX signals anyway so the signal > mask issue with the gthread backend is moot. If you don't have signals, you also don't have a way to interrupt the VCPU thread. After all the work on making memory dispatch more thread-friendly is completed, it shouldn't be _that_ hard to run the TCG VCPU threads outside the big QEMU lock. But until that is done, you need POSIX signals to interrupt the VCPU thread (Windows uses the debug API instead, which is even worse and probably doesn't have a NaCl equivalent either). Paolo