[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/6] target/mips: reimplement SC instruction
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/6] target/mips: reimplement SC instruction emulation and use cmpxchg |
Date: |
Thu, 22 Feb 2018 17:33:27 -0500 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Thu, Feb 22, 2018 at 19:31:39 +0100, Aleksandar Markovic wrote:
> From: Leon Alrae <address@hidden>
>
> Completely rewrite conditional stores handling. Use cmpxchg.
>
> This eliminates need for separate implementations of SC instruction
> emulation for user and system emulation.
>
> Signed-off-by: Leon Alrae <address@hidden>
> Signed-off-by: Miodrag Dinic <address@hidden>
> Signed-off-by: Aleksandar Markovic <address@hidden>
> Reviewed-by: Richard Henderson <address@hidden>
Tested-by: Emilio G. Cota <address@hidden>
Got some stats with qht-bench on mipsel-user -- note that I think
you'd get more meaningful numbers with qht-bench than with
atomic_add-bench, since the latter isn't representative of a useful
workload--rather it's a pathological case unless that doesn't
scale at all unless you increase the range quite a bit.
Also, you might want to add perf numbers to the appropriate commit
log, otherwise they'll be absent from the commit history.
Here are some numbers I just gathered for qht-bench, feel
free to include them in this commit's log:
mipsel-linux-user tests/qht-bench -d 5 -n 1 -u 20 -g 10000
Host: AMD Opteron(tm) Processor 6376
120 +-+-+---------+----------+---------+---------#D-+-+
| + + + + ## + |
| master ***B*** ## |
100 +MTTCGv2 ###D### ### +-+
| ## |
| ## |
80 +-+ ### +-+
| ## |
| # ## |
60 +-+ #D# +-+
| ### |
| ## |
40 +-+ ### +-+
| #D# |
| ## |
20 +-+ D# +-+
| ## |
| +## + + + + |
0 +-+-B****B****B**********B********************B-+-+
1 16 Threads 48 64
png: https://imgur.com/hTwhw70
Thanks for doing this work!
Emilio
- [Qemu-devel] [PATCH v2 0/6] target-mips: support MTTCG feature, Aleksandar Markovic, 2018/02/22
- [Qemu-devel] [PATCH v2 5/6] hw/mips_cpc: kick a VP when putting it into Run state, Aleksandar Markovic, 2018/02/22
- [Qemu-devel] [PATCH v2 4/6] target/mips: hold BQL in mips_vpe_wake(), Aleksandar Markovic, 2018/02/22
- [Qemu-devel] [PATCH v2 6/6] target/mips: introduce MTTCG-enabled builds, Aleksandar Markovic, 2018/02/22
- [Qemu-devel] [PATCH v2 3/6] hw/mips_int: hold BQL for all interrupt requests, Aleksandar Markovic, 2018/02/22
- [Qemu-devel] [PATCH v2 1/6] target/mips: compare virtual addresses in LL/SC sequence, Aleksandar Markovic, 2018/02/22
- [Qemu-devel] [PATCH v2 2/6] target/mips: reimplement SC instruction emulation and use cmpxchg, Aleksandar Markovic, 2018/02/22
- Re: [Qemu-devel] [PATCH v2 2/6] target/mips: reimplement SC instruction emulation and use cmpxchg,
Emilio G. Cota <=