Hi, This is the current testing/next queue. Aside from the minor bumps and updates this returns --enable-tsan to the build.
This can help with debugging race conditions. You need a fairly recent clang to enable it but configure will bug out if it can't be turned on. Thanks to Robert Foley for picking up Emilio's work and getting it through the review process. There are a couple of minor testing updates including re-enabling the cross-builds I disabled in the last PR I made as, predictably, Debian finally pushed through the package update just as I turned the tests off. I hope to put together a PR on Tuesday. The following are still missing reviews: - cirrus.yml: serialise make check - Revert ".shippable: temporaily disable some cross builds" - tests/docker: bump fedora to 32 Alex Bennée (3): tests/docker: bump fedora to 32 Revert ".shippable: temporaily disable some cross builds" cirrus.yml: serialise make check Claudio Fontana (2): Makefile: dtc: update, build the libfdt target Makefile: remove old compatibility gunks Emilio G. Cota (7): cpu: convert queued work to a QSIMPLEQ thread: add qemu_spin_destroy cputlb: destroy CPUTLB with tlb_destroy qht: call qemu_spin_destroy for head buckets tcg: call qemu_spin_destroy for tb->jmp_lock translate-all: call qemu_spin_destroy for PageDesc thread: add tsan annotations to QemuSpin Lingfeng Yang (1): configure: add --enable-tsan flag + fiber annotations for coroutine-ucontext Robert Foley (5): tests/docker: Added docker build support for TSan. include/qemu: Added tsan.h for annotations. util: Added tsan annotate for thread name. docs: Added details on TSan to testing.rst tests: Disable select tests under TSan, which hit TSan issue. docs/devel/testing.rst | 107 +++++++++++++++++++++ configure | 48 ++++++++- Makefile | 16 +-- include/exec/exec-all.h | 8 ++ include/hw/core/cpu.h | 6 +- include/qemu/thread.h | 38 +++++++- include/qemu/tsan.h | 71 ++++++++++++++ include/tcg/tcg.h | 1 + accel/tcg/cputlb.c | 15 +++ accel/tcg/translate-all.c | 17 ++++ cpus-common.c | 25 ++--- cpus.c | 14 ++- exec.c | 1 + hw/core/cpu.c | 1 + tcg/tcg.c | 9 ++ util/coroutine-ucontext.c | 66 +++++++++++-- util/qemu-thread-posix.c | 2 + util/qht.c | 1 + .cirrus.yml | 6 +- .shippable.yml | 12 +-- dtc | 2 +- tests/Makefile.include | 9 +- tests/docker/dockerfiles/fedora.docker | 2 +- tests/docker/dockerfiles/ubuntu2004.docker | 65 +++++++++++++ tests/docker/test-tsan | 44 +++++++++ tests/qtest/Makefile.include | 7 +- tests/tsan/blacklist.tsan | 10 ++ tests/tsan/suppressions.tsan | 14 +++ 28 files changed, 557 insertions(+), 60 deletions(-) create mode 100644 include/qemu/tsan.h create mode 100644 tests/docker/dockerfiles/ubuntu2004.docker create mode 100755 tests/docker/test-tsan create mode 100644 tests/tsan/blacklist.tsan create mode 100644 tests/tsan/suppressions.tsan -- 2.20.1