qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Lior Vernia <liorvern@gmail.com>
Cc: qemu-devel@nongnu.org, 陳韋任 <chenwj@iis.sinica.edu.tw>,
	"Richard Henderson" <rth@twiddle.net>
Subject: Re: [Qemu-devel] Potential to accelerate QEMU for specific architectures
Date: Sat, 25 May 2013 21:06:50 +0200	[thread overview]
Message-ID: <51A10BCA.6000800@suse.de> (raw)
In-Reply-To: <CALBwSP0u6MxDH6Adt3XV_iVf7hqvqYFw8nWAUGz12iXdGGu9Cw@mail.gmail.com>

Hi,

Am 24.05.2013 21:24, schrieb Lior Vernia:
> I am running x86 applications on an ARM device using QEMU, and found
> it too slow for my needs.

Before we start going into technical details, what are you trying to
achieve on a high level and how did you try to do it?

Are you using qemu-system-x86_64 or qemu-x86_64? The latest v1.5.0?

> This is to be expected, of course, this is
> not a complaint.

Especially since most people still run on x86 ...

> However, I was wondering whether this could be helped
> by "overriding" the generic binary translation mechanism and focusing
> on lower level binary translation just from x86 to ARM.
> 
> It's clear to me that this isn't a small project, but it might be
> important enough for me to invest myself in. However, before I jump
> into it, I wanted to inquire whether this would be worthwhile at all.
> Does anyone have any estimate as to how big of a gain that could
> achieve? Or whether a more significant improvement could be achieved
> by further tweaking that didn't occur to me?

... the tcg/arm/ code does not get a lot of love, so you might be able
to squeeze some more performance out of it by implementing optional TCG
ops or optimizing existing implementations. In theory most TCG ops
should correspond to a machine instruction (where available); there's a
TCG-level optimizer to create more efficient code, but it's a tradeoff
between time for code optimization and execution time.

Needless to say that you should enable -O3 optimization (or something)
for the core C code and not to enable debug features in configure for
your performance measurements. :)

Whatever implementation you experiment with, get familiar with our
Git-based workflow and try to stay close to qemu.git code or otherwise
you'll create a fork with little chance of getting integrated into the
code base - meaning both we don't get your speedups and you don't get
our latest features and bugfixes. One such example was the attempt to
use LLVM instead of TCG.

Regards,
Andreas

> Proper disclosure: I'm fairly new to this whole cross-architecture deal.
> 
> Yours, Lior.

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  parent reply	other threads:[~2013-05-25 19:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-24 19:24 [Qemu-devel] Potential to accelerate QEMU for specific architectures Lior Vernia
2013-05-25 17:48 ` Blue Swirl
2013-05-25 19:06 ` Andreas Färber [this message]
2013-05-25 21:16   ` Paolo Bonzini
2013-05-26  5:40   ` Lior Vernia
2013-05-26  9:00     ` Andreas Färber
2013-05-26 16:03       ` Lior Vernia
2013-05-26  9:26     ` Peter Maydell
2013-05-26  9:58       ` Gleb Natapov
2013-05-26 10:11         ` Peter Maydell
2013-05-26 16:35       ` Lior Vernia
2013-05-27  6:59         ` Paolo Bonzini

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=51A10BCA.6000800@suse.de \
    --to=afaerber@suse.de \
    --cc=chenwj@iis.sinica.edu.tw \
    --cc=liorvern@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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).