qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] /* XXX: suppress this hack */


From: Magnus Damm
Subject: Re: [Qemu-devel] /* XXX: suppress this hack */
Date: Sun, 31 Oct 2004 12:31:56 +0100

Hello there,

I've finally managed to produce some nbench test results.

Host: Apple G4 Cube 450 Mhz, 1.2 GiB RAM, Gentoo Linux.

QEMU Version                        Integer  Floating-point

0.6.0 (portage qemu-0.6.0)          0.564    0.433             
CVS today, without AREG4-AREG11     0.569    0.465
CVS today                           0.689    0.457
CVS today, with -mcpu=7400          0.656    0.454

By comparing CVS today with and without AREG4-AREG11 we can see that the
/* XXX: suppress this hack */-change that Fabrice implemented gave us:

Integer performance is +20%, Floating-point performance is -2%.
---------------------------------------------------------------

Please take this with a grain of salt, I did only one test and cron
might have kicked in during the tests... 

And yes, adding cpu-specific flags to gcc seems pointless.

See the attached file for detailed nbench output.

/ magnus

On Wed, 2004-10-13 at 00:03, Fabrice Bellard wrote:
> I commited a patch to fix the problem. Tell me if you see regressions in 
> the PowerPC host case. The x86 emulation on PowerPC should be faster now.
> 
> Fabrice.
> 
> Johannes Schindelin wrote:
> > Hi,
> > 
> > On Mon, 11 Oct 2004, Johannes Schindelin wrote:
> > 
> > 
> >>Hi,
> >>
> >>On Sun, 10 Oct 2004, Magnus Damm wrote:
> >>
> >>
> >>>Yeah, registers "r3" to "r12" are "caller save", ie these registers must
> >>>be saved before a function is called. But what about "r16" to "r23",
> >>>these are currently only used when CONFIG_USER_ONLY is set - I thought
> >>>that they were supposed to be saved by the called function prior use,
> >>>"callee save". But how does that affect the softmmu code in a bad way
> >>>but the user code works? Any ideas?
> >>
> >>*scratcheshishead* I cannot think of one way that code should work in user
> >>mode... IMHO there is no protection to those registers when calling libc
> >>or a syscall.
> > 
> > 
> > I think I know why: the only calls made from this code (CONFIG_USER_ONLY)
> > are syscalls. As these happen in the kernel, no registers of the normal
> > user space are touched except for the return register, which is intended
> > to be changed. Am I right?
> > 
> > Ciao,
> > Dscho
> > 
> > 
> > 
> > _______________________________________________
> > Qemu-devel mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
> > 
> > 
> 
> 
> 
> 
> _______________________________________________
> Qemu-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/qemu-devel

Attachment: qemu_test_20041031
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]