From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51371) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSD8A-0000fR-5P for qemu-devel@nongnu.org; Wed, 09 May 2012 16:05:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SSD88-00019H-AQ for qemu-devel@nongnu.org; Wed, 09 May 2012 16:05:01 -0400 Received: from isrv.corpit.ru ([86.62.121.231]:37639) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SSD88-000199-3I for qemu-devel@nongnu.org; Wed, 09 May 2012 16:05:00 -0400 Message-ID: <4FAACDE9.9080607@msgid.tls.msk.ru> Date: Thu, 10 May 2012 00:04:57 +0400 From: Michael Tokarev MIME-Version: 1.0 References: <4FAAC3A3.5040503@siemens.com> In-Reply-To: <4FAAC3A3.5040503@siemens.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1.1] coroutine: Avoid ucontext usage on i386 Linux host List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Kevin Wolf , Peter Maydell , Anthony Liguori , qemu-devel On 09.05.2012 23:21, Jan Kiszka wrote: [] > --- a/configure > +++ b/configure > @@ -2777,17 +2777,22 @@ fi > # windows autodetected by make > if test "$coroutine" = "" -o "$coroutine" = "ucontext"; then > if test "$darwin" != "yes"; then > - cat > $TMPC << EOF > + if test "$linux" = "yes" -a "$cpu" = "i386"; then > + # RT signal mask corruption for 32-on-64 bit prevents ucontext usage > + coroutine_backend=gthread > + else I'd say this is unacceptable. We're making 32bit x86 code to use different implementation of one of core subsystems, and 32bit code already receives much less testing because everyone is using 64bit code and many don't care about 32bits (this is general 32bit case, not a more exotic 32-on-64bit case). I think it is a sure way to have more subtle "works for me" bugs which happens only on 32bits.. Besides, gthread is quite a bit slower than ucontext (but at least it works even in the exotic case). Thanks, /mjt