qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] target-sparc register window handling


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] target-sparc register window handling
Date: Sat, 6 Oct 2012 12:15:16 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Oct 05, 2012 at 05:00:04PM -0700, Richard Henderson wrote:
> This applies with or without the sparc-compare patch set I
> recently sent, and it works with the same set of tests.
> 
> I've not had time to do true benchmarking on this, but it
> does reduce the size of the generated code:

Experience proves that there is not a direct relation between size of
the generated code and the resulting emulation speed, sometimes smaller
code means slower emulation (when the code generation/optimization takes
too much time), and sometimes bigger code might means faster emulation
(think about replacing some helpers by TCG code).

As from the user point of view what is important is the emulation speed,
I think benchmarks (even simple ones like measuring the boot time of a
guest) are essential for this kind of patch.

> BEFORE
> Translation buffer state:
> gen code size       509344/33431552
> TB count            2196/262144
> TB avg target size  22 max=252 bytes
> TB avg host size    231 bytes (expansion ratio: 10.3)
> cross page TB count 0 (0%)
> direct jump count   1153 (52%) (2 jumps=628 28%)
> 
> AFTER
> Translation buffer state:
> gen code size       418064/33431552
> TB count            2196/262144
> TB avg target size  22 max=252 bytes
> TB avg host size    190 bytes (expansion ratio: 8.4)
> cross page TB count 0 (0%)
> direct jump count   1153 (52%) (2 jumps=628 28%)
> 
> 
> r~
> 
> 
> Richard Henderson (1):
>   target-sparc: Use TCG registers for windowed registers
> 
>  gdbstub.c                          |   4 +-
>  linux-user/main.c                  |  17 ++--
>  linux-user/signal.c                |  78 +++++++--------
>  linux-user/sparc/target_signal.h   |   2 +-
>  linux-user/sparc64/target_signal.h |   2 +-
>  monitor.c                          |   2 +-
>  target-sparc/cpu.c                 |   3 +-
>  target-sparc/cpu.h                 |  20 ++--
>  target-sparc/int32_helper.c        |   4 +-
>  target-sparc/ldst_helper.c         |  12 +--
>  target-sparc/translate.c           | 188 
> +++++++++++++++++--------------------
>  target-sparc/win_helper.c          |  56 ++++++-----
>  12 files changed, 190 insertions(+), 198 deletions(-)
> 
> -- 
> 1.7.11.4
> 
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

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