qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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~

  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).