пет, 20. мар 2020. у 12:45 Alex Bennée <alex.ben...@linaro.org> је написао/ла: > > While debugging check-acceptance failures I found an instability in > the mips64el test case. Briefly the test case: >
Alex, following up Philippe's hint, do you see failures while using 32-bit targets? Thanks, Aleksandar > 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 >