This is intending to fix the current aarch64 host failure
for s390x guest cdrom-test. This is caused by the io thread
issuing memory barriers that are supposed to be matched by
the vcpu, but are elided by tcg in rr mode as "unnecessary".
I know Peter would like a smaller patch to sync the io thread
with the vcpu thread. I've made a couple of attempts at this,
but havn't managed to get something reliable (although now
irritatingly infrequent -- about 1 in 500).
I have further patches to further optimize barriers, and to
generate load-acquire/store-release instructions in tcg.
But it's late in the release cycle, etc etc.
I've done nothing to measure the performance impact of this.
I quit the cdtom-test cycle after 4000 passes.
r~
Richard Henderson (5):
tcg: Decode the operand to INDEX_op_mb in dumps
tcg: Do not elide memory barriers for CF_PARALLEL
tcg: Elide memory barriers implied by the host memory model
tcg: Create tcg_req_mo
tcg: Add host memory barriers to cpu_ldst.h interfaces
include/exec/cpu_ldst.h | 7 ++++
include/tcg/tcg.h | 20 +++++++++++
accel/tcg/cputlb.c | 2 ++
accel/tcg/tcg-all.c | 6 +---
accel/tcg/user-exec.c | 17 +++++++++
tcg/tcg-op.c | 19 +++++-----
tcg/tcg.c | 79 +++++++++++++++++++++++++++++++++++++++++
7 files changed, 137 insertions(+), 13 deletions(-)