From: Richard Henderson <rth@twiddle.net>
To: Artyom Tarasenko <atar4qemu@gmail.com>,
Aurelien Jarno <aurelien@aurel32.net>
Cc: qemu-devel <qemu-devel@nongnu.org>, Dennis Luehring <dl.soluz@gmx.net>
Subject: Re: [Qemu-devel] Debian 7.8.0 SPARC64 on qemu - anything i can do to speedup the emulation?
Date: Thu, 20 Aug 2015 10:19:23 -0700 [thread overview]
Message-ID: <55D60C1B.9010502@twiddle.net> (raw)
In-Reply-To: <CACXAS8C82pZws_LYanyEa4YVZdkk717imyRcmCNfvv3uDivr0Q@mail.gmail.com>
On 08/19/2015 07:41 AM, Artyom Tarasenko wrote:
> Without the patch:
>
> time g++ -DHAVE_CONFIG_H -I. -I../binutils-gdb/gold
> -I../binutils-gdb/gold -I../binutils-gdb/gold/../include
> -I../binutils-gdb/gold/../elfcpp
> -DLOCALEDIR="\"/usr/local/share/locale\""
> -DBINDIR="\"/usr/local/bin\"" -DTOOLBINDIR="\"/usr/local//bin\""
> -DTOOLLIBDIR="\"/usr/local//lib\"" -W -Wall -Werror
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -frandom-seed=tilegx.o
> -I../binutils-gdb/gold/../zlib -g -O2 -MT tilegx.o -MD -MP -MF
> .deps/tilegx.Tpo -c -o tilegx.o ../binutils-gdb/gold/tilegx.cc
>
> real 18m31.407s
> user 18m23.661s
> sys 0m6.784s
>
> The patch surely improves the situation, tcg_optimize in the perf top
> takes ~7% (instead of~12%), and the only function marked red by
> perf-top is init_temp_info(). So with the patch:
>
> real 17m46.380s
> user 17m37.522s
> sys 0m7.120s
>
>
> And if I completely disable optimizer (// #define
> USE_TCG_OPTIMIZATIONS in tcg.c), it's still quite faster:
>
> real 14m17.668s
> user 14m10.241s
> sys 0m6.060s
This isn't surprising, because at the moment tcg optimizations are almost
completely ineffective for sparc. The way the register windows are implemented
means that there are very few proper tcg temporaries to optimize.
I've just updated an old branch that attempts to cure this. It creates proper
tcg temporaries for the windowed registers, and uses a bit of recursion to find
the place at which they should be stored.
git://github.com/rth7680/qemu.git tcg-indirect
With a few quick unscientific tests, it appears to help. It would be nice to
put that branch side-by-side with your tests above.
r~
next prev parent reply other threads:[~2015-08-20 17:19 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 7:52 [Qemu-devel] Debian 7.8.0 SPARC64 on qemu - anything i can do to speedup the emulation? Dennis Luehring
2015-07-28 9:54 ` Artyom Tarasenko
2015-07-29 6:20 ` Dennis Luehring
2015-07-29 8:23 ` Artyom Tarasenko
2015-07-29 15:01 ` Aurelien Jarno
2015-07-30 3:52 ` Dennis Luehring
2015-07-30 7:52 ` Aurelien Jarno
2015-07-30 8:16 ` Dennis Luehring
2015-07-30 8:42 ` Artyom Tarasenko
2015-07-30 8:55 ` Aurelien Jarno
2015-07-30 9:35 ` Artyom Tarasenko
2015-07-30 10:09 ` Aurelien Jarno
2015-07-30 18:21 ` Dennis Luehring
2015-07-30 15:50 ` Aurelien Jarno
2015-07-31 15:31 ` Artyom Tarasenko
2015-07-31 15:43 ` Aurelien Jarno
2015-08-02 13:11 ` Mark Cave-Ayland
2015-08-03 8:31 ` Artyom Tarasenko
2015-08-03 9:17 ` Aurelien Jarno
2015-08-18 9:24 ` Artyom Tarasenko
2015-08-18 17:55 ` Richard Henderson
2015-08-19 10:41 ` Artyom Tarasenko
2015-08-19 11:00 ` Aurelien Jarno
2015-08-19 14:41 ` Artyom Tarasenko
2015-08-20 5:22 ` Dennis Luehring
2015-08-20 10:40 ` Artyom Tarasenko
2015-08-20 17:19 ` Richard Henderson [this message]
2015-08-21 4:32 ` Dennis Luehring
2015-08-21 5:49 ` Richard Henderson
2015-08-21 6:05 ` Dennis Luehring
2015-08-21 15:47 ` Richard Henderson
2015-08-21 16:13 ` Aurelien Jarno
2015-08-21 16:41 ` Dennis Luehring
2015-08-22 16:45 ` Artyom Tarasenko
2015-08-22 17:47 ` Dennis Luehring
2015-08-22 18:53 ` Artyom Tarasenko
2015-08-23 12:11 ` Dennis Luehring
2015-08-23 0:41 ` Richard Henderson
2015-08-26 16:17 ` Artyom Tarasenko
2015-08-26 19:47 ` Richard Henderson
2015-08-27 5:54 ` Dennis Luehring
2015-08-27 15:04 ` Richard Henderson
2015-08-27 15:58 ` Artyom Tarasenko
2015-08-17 11:32 ` Dennis Luehring
2015-08-03 7:58 ` Dennis Luehring
2015-08-03 14:51 ` Dennis Luehring
2015-08-03 15:59 ` Karel Gardas
2015-08-03 19:51 ` Dennis Luehring
2015-08-06 9:00 ` Karel Gardas
2015-08-06 9:21 ` Dennis Luehring
2015-08-06 9:27 ` Dennis Luehring
2015-08-06 12:50 ` Karel Gardas
2015-08-06 16:35 ` Dennis Luehring
2015-08-18 4:25 ` Dennis Luehring
2015-08-18 8:19 ` Aurelien Jarno
2015-08-18 10:39 ` Dennis Luehring
2015-08-18 11:21 ` Dennis Luehring
[not found] ` <CAMO55fkcW1eOaZSz2MJgqZEP29pTuHvTLe0Kna5eHYfg7cFyPA@mail.gmail.com>
2015-08-19 4:28 ` Dennis Luehring
2015-07-29 8:07 ` Dennis Luehring
2015-07-29 15:03 ` Aurelien Jarno
2015-07-29 9:17 ` Karel Gardas
2015-07-29 10:20 ` Dennis Luehring
2015-07-29 13:45 ` Karel Gardas
2015-07-29 15:13 ` Aurelien Jarno
2015-07-29 10:55 ` Dennis Luehring
2015-07-29 12:34 ` Karel Gardas
2015-07-29 12:38 ` Karel Gardas
2015-07-29 13:55 ` Dennis Luehring
2015-07-29 14:41 ` Karel Gardas
2015-07-30 3:47 ` Dennis Luehring
2015-07-30 7:12 ` Paolo Bonzini
2015-07-30 8:31 ` Artyom Tarasenko
2015-08-02 19:12 ` Alex Bennée
2015-07-30 7:55 ` Aurelien Jarno
2015-08-17 14:19 ` Artyom Tarasenko
2015-08-17 15:40 ` Richard Henderson
2015-08-17 16:25 ` Artyom Tarasenko
2015-08-17 21:08 ` Aurelien Jarno
2015-08-27 15:29 ` Artyom Tarasenko
2015-09-02 4:34 ` Dennis Luehring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55D60C1B.9010502@twiddle.net \
--to=rth@twiddle.net \
--cc=atar4qemu@gmail.com \
--cc=aurelien@aurel32.net \
--cc=dl.soluz@gmx.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).