From: "Emilio G. Cota" <cota@braap.org>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: qemu-devel@nongnu.org, peter.maydell@linaro.org, alex.bennee@linaro.org
Subject: Re: [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state
Date: Thu, 14 Feb 2019 12:05:56 -0500 [thread overview]
Message-ID: <20190214170556.GA23920@flamenco> (raw)
In-Reply-To: <20190214040652.4811-1-richard.henderson@linaro.org>
On Wed, Feb 13, 2019 at 20:06:48 -0800, Richard Henderson wrote:
> We've talked about this before, caching state to reduce the
> amount of computation that happens looking up each TB.
>
> I know that Peter has been concerned that we would not be able to
> reliably maintain all of the places that need to be updates to
> keep this up-to-date.
>
> Well, modulo dirty tricks within linux-user, it appears as if
> exception delivery and return, plus after every TB-ending write
> to a system register is sufficient.
>
> There seems to be a noticable improvement, although wall-time
> is harder to come by -- all of my system-level measurements
> include user input, and my user-level measurements seem to be
> too small to matter.
Thanks for this!
Some SPEC06int user-mode numbers (before vs. after)
aarch64-linux-user speedup for SPEC06int (test set)
Host: Intel(R) Xeon(R) Gold 6142 CPU @ 2.60GHz
2 +-----------------------------------------+
| |
1.9 |-+.........................a+-+r.......+-|
| +-+ |
| * * |
1.8 |-+..........................*.*........+-|
| +-+ * * |
1.7 |-+.....+-+...............+-+*.*...+-+..+-|
| * * +-+ * ** * +-+ |
1.6 |-+.....*.*..........|....*.**.*+-+*.*..+-|
| * * *|* * ** *+-+* * |
1.5 |-+.....*.*.........*|*...*.**.**.**.*..+-|
| * * +-+ * ** ** ** * |
| * * * * * ** ** ** * |
1.4 |-+.....*.*.........*.*...*.**.**.**.*+-+-|
| * * +-+ * * * ** ** ** ** * |
1.3 |-+.....*.*...+-+...*.*...*.**.**.**.**.*-|
| +-+ * * * * * * * ** ** ** ** * |
1.2 |-+-+...*.*...*.*...*.*...*.**.**.**.**.*-|
| * * * * * * * * * ** ** ** ** * |
| * * * * * *+-+* * * ** ** ** ** * |
1.1 |-*.*...*.*...*.**.**.*...*.**.**.**.**.*-|
| * *+-+* *+-+* ** ** *+-+* ** ** ** ** * |
1 +-----------------------------------------+
400.per401.b40344454462.li464471.483.xalangeomean
png: https://imgur.com/RjkYYJ5
That is, a 1.4x average speedup.
Emilio
prev parent reply other threads:[~2019-02-14 17:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-14 4:06 [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state Richard Henderson
2019-02-14 4:06 ` [Qemu-devel] [PATCH 1/4] target/arm: Split out recompute_hflags et al Richard Henderson
2019-02-19 11:06 ` Alex Bennée
2019-02-19 15:06 ` Richard Henderson
2019-02-14 4:06 ` [Qemu-devel] [PATCH 2/4] target/arm: Rebuild hflags at el changes and MSR writes Richard Henderson
2019-02-19 14:48 ` Alex Bennée
2019-02-19 15:10 ` Richard Henderson
2019-02-19 19:43 ` Alex Bennée
2019-02-14 4:06 ` [Qemu-devel] [PATCH 3/4] target/arm: Assert hflags is correct in cpu_get_tb_cpu_state Richard Henderson
2019-02-19 14:53 ` Alex Bennée
2019-02-19 15:23 ` Alex Bennée
2019-02-14 4:06 ` [Qemu-devel] [PATCH 4/4] target/arm: Rely on hflags " Richard Henderson
2019-02-19 20:17 ` Alex Bennée
2019-02-19 22:40 ` Richard Henderson
2019-02-14 10:28 ` [Qemu-devel] [PATCH 0/4] target/arm: Reduce overhead of cpu_get_tb_cpu_state Laurent Desnogues
2019-02-14 11:05 ` Alex Bennée
2019-02-14 17:05 ` Emilio G. Cota [this message]
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=20190214170556.GA23920@flamenco \
--to=cota@braap.org \
--cc=alex.bennee@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.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).