On Thu, Feb 22, 2018 at 19:31:39 +0100, Aleksandar Markovic wrote: > From: Leon Alrae <lean.al...@imgtec.com> > > 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 <leon.al...@imgtec.com> > Signed-off-by: Miodrag Dinic <miodrag.di...@mips.com> > Signed-off-by: Aleksandar Markovic <aleksandar.marko...@mips.com> > Reviewed-by: Richard Henderson <r...@twiddle.net>
Tested-by: Emilio G. Cota <c...@braap.org> 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