[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH for 5.0] configure: disable MTTCG for MIPS guests
From: |
Alex Bennée |
Subject: |
Re: [RFC PATCH for 5.0] configure: disable MTTCG for MIPS guests |
Date: |
Fri, 20 Mar 2020 17:21:31 +0000 |
User-agent: |
mu4e 1.3.10; emacs 28.0.50 |
Aleksandar Markovic <address@hidden> writes:
> пет, 20. мар 2020. у 12:45 Alex Bennée <address@hidden> је написао/ла:
>>
>> 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
>>
>
> Thank for the findings!
>
> Could you perhaps attach or link to "retry.py"?
Sure - it's just a noddy python script which I use for repeated testing:
https://github.com/stsquad/retry
> Did you run this particular test for the first time now, or it used to
> pass before?
I only noticed it since it was added to check-acceptance and has been
flakey since added I think.
>
> Thanks,
> Aleksandar
>
>> 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 <address@hidden>
>> Cc: Aleksandar Markovic <address@hidden>
>> Cc: Aurelien Jarno <address@hidden>
>> Cc: Aleksandar Rikalo <address@hidden>
>> Cc: Philippe Mathieu-Daudé <address@hidden>
>> ---
>> 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
>>
--
Alex Bennée