While debugging check-acceptance failures I found an instability in the mips64el test case. Briefly the test case:
retry.py -n 100 -c -- ./mips64el-softmmu/qemu-system-mips64el \ -display none -vga none -serial mon:stdio \ -machine malta -kernel ./vmlinux-4.7.0-rc1.I6400 \ -cpu I6400 -smp 8 -vga std \ -append "printk.time=0 clocksource=GIC console=tty0 console=ttyS0 panic=-1" \ --no-reboot Reports about a 9% failure rate: Results summary: 0: 91 times (91.00%), avg time 5.547 (0.45 varience/0.67 deviation) -6: 9 times (9.00%), avg time 3.394 (0.02 varience/0.13 deviation) Ran command 100 times, 91 passes When re-run with "--accel tcg,thread=single" the instability goes away. Results summary: 0: 100 times (100.00%), avg time 17.318 (249.76 varience/15.80 deviation) Ran command 100 times, 100 passes Which seems to indicate there is some aspect of the MIPS MTTCG fixes that has been missed. Ideally we would fix that but I'm afraid I don't have time to investigate and am not super familiar with the architecture anyway. I've disabled all the mips guests as I assume it's a fundamental synchronisation primitive that is broken but I haven't tested them all (there are a lot!). Signed-off-by: Alex Bennée <alex.ben...@linaro.org> Cc: Aleksandar Markovic <aleksandar.qemu.de...@gmail.com> Cc: Aurelien Jarno <aurel...@aurel32.net> Cc: Aleksandar Rikalo <aleksandar.rik...@rt-rk.com> Cc: Philippe Mathieu-Daudé <f4...@amsat.org> --- configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 206d22c5153..002792d21dc 100755 --- a/configure +++ b/configure @@ -7832,19 +7832,19 @@ case "$target_name" in echo "TARGET_ABI32=y" >> $config_target_mak ;; mips|mipsel) - mttcg="yes" + mttcg="no" TARGET_ARCH=mips echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak ;; mipsn32|mipsn32el) - mttcg="yes" + mttcg="no" TARGET_ARCH=mips64 TARGET_BASE_ARCH=mips echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak echo "TARGET_ABI32=y" >> $config_target_mak ;; mips64|mips64el) - mttcg="yes" + mttcg="no" TARGET_ARCH=mips64 TARGET_BASE_ARCH=mips echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak -- 2.20.1