From: Laurent Desnogues <laurent.desnogues@gmail.com>
To: Filip Navara <filip.navara@gmail.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
ehabkost@redhat.com, jan.kiszka@siemens.com, dlaor@redhat.com,
qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>,
Blue Swirl <blauwirbel@gmail.com>, Avi Kivity <avi@redhat.com>
Subject: Re: OT: TCG SSA, speed, misc (was Re: [Qemu-devel] Re: [PATCH 08/11] QMP: Port balloon command)
Date: Sun, 28 Jun 2009 23:24:39 +0200 [thread overview]
Message-ID: <761ea48b0906281424p5966022erbcb20143c06fd6b3@mail.gmail.com> (raw)
In-Reply-To: <5b31733c0906281119r7ea485b6k81f8e59fd3aa4926@mail.gmail.com>
On Sun, Jun 28, 2009 at 8:19 PM, Filip Navara<filip.navara@gmail.com> wrote:
> Doing a profiling run on several ARM demo programs showed that most of
> the generated code was doing load/store operations to the machine
> registers (in CPU_env). Sample run of FreeRTOS looked like this (OP
> counts):
>
> movi_i32 1603
> ld_i32 1305
> st_i32 1174
> add_i32 530
> ...
>
> If there could be done something that would allow the guest registers
> to be stored in host registers, even if for a temporary amount of time
> it would certainly help the guests that I'm dealing with.
TCG does a good job for register allocation.
The problem you have here is that the ARM translator
isn't using tcg_global_mem_new_i32 for ARM registers.
Here's an example of number of ops I see when using
tcg_global_mem_new_i32:
exit_tb 4991
add_i32 7945
st_i32 8257
movi_i32 26812
mov_i32 38369
And with the trunk:
exit_tb 4957
add_i32 8165
st_i32 20281
ld_i32 21926
movi_i32 25083
Laurent
next prev parent reply other threads:[~2009-06-28 21:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-28 18:19 OT: TCG SSA, speed, misc (was Re: [Qemu-devel] Re: [PATCH 08/11] QMP: Port balloon command) Filip Navara
2009-06-28 21:24 ` Laurent Desnogues [this message]
2009-06-28 23:19 ` Filip Navara
2009-06-28 23:35 ` Filip Navara
2009-06-29 6:39 ` Laurent Desnogues
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=761ea48b0906281424p5966022erbcb20143c06fd6b3@mail.gmail.com \
--to=laurent.desnogues@gmail.com \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=dlaor@redhat.com \
--cc=ehabkost@redhat.com \
--cc=filip.navara@gmail.com \
--cc=jan.kiszka@siemens.com \
--cc=lcapitulino@redhat.com \
--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).