[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: |
Philippe Mathieu-Daudé |
Subject: |
Re: [RFC PATCH for 5.0] configure: disable MTTCG for MIPS guests |
Date: |
Fri, 20 Mar 2020 14:59:44 +0100 |
On Fri, Mar 20, 2020 at 12:45 PM Alex Bennée <address@hidden> wrote:
>
> 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.
I confirm, in my notes I use this option with -smp with the following cpus:
- mips64dspr2
- I6400
>
> 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"
I am not sure the 32-bit targets are affected.
Maybe we can keep it enabled here?
For code below for 5.0 (64-bit targets):
Acked-by: Philippe Mathieu-Daudé <address@hidden>
> 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
>