From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34036) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ua1SZ-00022m-OZ for qemu-devel@nongnu.org; Wed, 08 May 2013 06:18:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ua1SY-0000I3-MY for qemu-devel@nongnu.org; Wed, 08 May 2013 06:18:55 -0400 Received: from mx4-phx2.redhat.com ([209.132.183.25]:57620) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ua1SY-0000Hj-Eq for qemu-devel@nongnu.org; Wed, 08 May 2013 06:18:54 -0400 Date: Wed, 8 May 2013 06:18:40 -0400 (EDT) From: Paolo Bonzini Message-ID: <127138633.7673707.1368008320404.JavaMail.root@redhat.com> In-Reply-To: <86fvxxoldi.fsf@shell.gmplib.org> References: <8661yvqasu.fsf@shell.gmplib.org> <20130507225736.GO5000@ohm.aurel32.net> <5189FDD3.5000902@redhat.com> <86fvxxoldi.fsf@shell.gmplib.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Reporting Heisenbugs in qemu List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Torbjorn Granlund Cc: Artyom Tarasenko , Aurelien Jarno , qemu-devel > Paolo Bonzini writes: > > I guess that's the register windows. There's only so much you can do to > optimize them, and heavily recursive workloads (like Perl, or the RTL > half of GCC) pay a hefty price. > > Two qemu targets stand out for slowness, sparc (32 and 64) and mips (64, > don't know about 32). > > x86 (32 and 64), arm, and ppc run with a slowdown of < 30 for my bogus > benchmark of GMP configure+make. > > With FreeBSD x86_64 I see a slowdown of just 13. (My reference system > runs FreeBSD, so running FreeBSD under qemu is only far.) > > My claimed slowdown factors are affected by kernel, libraries, and > unfortunately very much by gcc speed, which vary with target. > > If the sparc emulation speed is due to register windows, then why does > mips seem just as slow? No idea. :) Of all the architectures you listed, MIPS is really the one that I have no inkling of... > If register windows shortage is a problem, it should be easy to pretend > to have lots of them, right? That can help to avoid trapping to the kernel. But you still have to spill the whole window to the stack on every call to a non-leaf function, which can be expensive even if you do it in the translated code. Paolo