Message ID | 20200320114522.16273-1-alex.bennee@linaro.org |
---|---|
State | New |
Headers | show |
Series | [RFC,for,5.0] configure: disable MTTCG for MIPS guests | expand |
On Fri, Mar 20, 2020 at 12:45 PM Alex Bennée <alex.bennee@linaro.org> 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 <alex.bennee@linaro.org> > Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> > Cc: Aurelien Jarno <aurelien@aurel32.net> > Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> > Cc: Philippe Mathieu-Daudé <f4bug@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" 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é <f4bug@amsat.org> > 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 >
пет, 20. мар 2020. у 12:45 Alex Bennée <alex.bennee@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.bennee@linaro.org> > Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> > Cc: Aurelien Jarno <aurelien@aurel32.net> > Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> > Cc: Philippe Mathieu-Daudé <f4bug@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 >
пет, 20. мар 2020. у 12:45 Alex Bennée <alex.bennee@linaro.org> је написао/ла: > > 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"? Did you run this particular test for the first time now, or it used to pass before? 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 <alex.bennee@linaro.org> > Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> > Cc: Aurelien Jarno <aurelien@aurel32.net> > Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> > Cc: Philippe Mathieu-Daudé <f4bug@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 >
пет, 20. мар 2020. у 18:08 Aleksandar Markovic < aleksandar.qemu.devel@gmail.com> је написао/ла: > > пет, 20. мар 2020. у 12:45 Alex Bennée <alex.bennee@linaro.org> је написао/ла: > > > > 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"? > Is this the script you used: https://github.com/stsquad/retry/blob/master/retry.py > Did you run this particular test for the first time now, or it used to > pass before? > > 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 <alex.bennee@linaro.org> > > Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> > > Cc: Aurelien Jarno <aurelien@aurel32.net> > > Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> > > Cc: Philippe Mathieu-Daudé <f4bug@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 > > <div dir="ltr"><br><br>пет, 20. мар 2020. у 18:08 Aleksandar Markovic <<a href="mailto:aleksandar.qemu.devel@gmail.com">aleksandar.qemu.devel@gmail.com</a>> је написао/ла:<br>><br>> пет, 20. мар 2020. у 12:45 Alex Bennée <<a href="mailto:alex.bennee@linaro.org">alex.bennee@linaro.org</a>> је написао/ла:<br>> ><br>> > While debugging check-acceptance failures I found an instability in<br>> > the mips64el test case. Briefly the test case:<br>> ><br>> > retry.py -n 100 -c -- ./mips64el-softmmu/qemu-system-mips64el \<br>> > -display none -vga none -serial mon:stdio \<br>> > -machine malta -kernel ./vmlinux-4.7.0-rc1.I6400 \<br>> > -cpu I6400 -smp 8 -vga std \<br>> > -append "printk.time=0 clocksource=GIC console=tty0 console=ttyS0 panic=-1" \<br>> > --no-reboot<br>> ><br>><br>> Thank for the findings!<br>><br>> Could you perhaps attach or link to "retry.py"?<br>><br><br>Is this the script you used:<br><br><a href="https://github.com/stsquad/retry/blob/master/retry.py">https://github.com/stsquad/retry/blob/master/retry.py</a><br><br>> Did you run this particular test for the first time now, or it used to<br>> pass before?<br>><br>> Thanks,<br>> Aleksandar<br>><br>> > Reports about a 9% failure rate:<br>> ><br>> > Results summary:<br>> > 0: 91 times (91.00%), avg time 5.547 (0.45 varience/0.67 deviation)<br>> > -6: 9 times (9.00%), avg time 3.394 (0.02 varience/0.13 deviation)<br>> > Ran command 100 times, 91 passes<br>> ><br>> > When re-run with "--accel tcg,thread=single" the instability goes<br>> > away.<br>> ><br>> > Results summary:<br>> > 0: 100 times (100.00%), avg time 17.318 (249.76 varience/15.80 deviation)<br>> > Ran command 100 times, 100 passes<br>> ><br>> > Which seems to indicate there is some aspect of the MIPS MTTCG fixes<br>> > that has been missed. Ideally we would fix that but I'm afraid I don't<br>> > have time to investigate and am not super familiar with the<br>> > architecture anyway.<br>> ><br>> > I've disabled all the mips guests as I assume it's a fundamental<br>> > synchronisation primitive that is broken but I haven't tested them all<br>> > (there are a lot!).<br>> ><br>> > Signed-off-by: Alex Bennée <<a href="mailto:alex.bennee@linaro.org">alex.bennee@linaro.org</a>><br>> > Cc: Aleksandar Markovic <<a href="mailto:aleksandar.qemu.devel@gmail.com">aleksandar.qemu.devel@gmail.com</a>><br>> > Cc: Aurelien Jarno <<a href="mailto:aurelien@aurel32.net">aurelien@aurel32.net</a>><br>> > Cc: Aleksandar Rikalo <<a href="mailto:aleksandar.rikalo@rt-rk.com">aleksandar.rikalo@rt-rk.com</a>><br>> > Cc: Philippe Mathieu-Daudé <<a href="mailto:f4bug@amsat.org">f4bug@amsat.org</a>><br>> > ---<br>> > configure | 6 +++---<br>> > 1 file changed, 3 insertions(+), 3 deletions(-)<br>> ><br>> > diff --git a/configure b/configure<br>> > index 206d22c5153..002792d21dc 100755<br>> > --- a/configure<br>> > +++ b/configure<br>> > @@ -7832,19 +7832,19 @@ case "$target_name" in<br>> > echo "TARGET_ABI32=y" >> $config_target_mak<br>> > ;;<br>> > mips|mipsel)<br>> > - mttcg="yes"<br>> > + mttcg="no"<br>> > TARGET_ARCH=mips<br>> > echo "TARGET_ABI_MIPSO32=y" >> $config_target_mak<br>> > ;;<br>> > mipsn32|mipsn32el)<br>> > - mttcg="yes"<br>> > + mttcg="no"<br>> > TARGET_ARCH=mips64<br>> > TARGET_BASE_ARCH=mips<br>> > echo "TARGET_ABI_MIPSN32=y" >> $config_target_mak<br>> > echo "TARGET_ABI32=y" >> $config_target_mak<br>> > ;;<br>> > mips64|mips64el)<br>> > - mttcg="yes"<br>> > + mttcg="no"<br>> > TARGET_ARCH=mips64<br>> > TARGET_BASE_ARCH=mips<br>> > echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak<br>> > --<br>> > 2.20.1<br>> ></div>
Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> writes: > пет, 20. мар 2020. у 12:45 Alex Bennée <alex.bennee@linaro.org> је написао/ла: >> >> 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 <alex.bennee@linaro.org> >> Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> >> Cc: Aurelien Jarno <aurelien@aurel32.net> >> Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> >> Cc: Philippe Mathieu-Daudé <f4bug@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 >> -- Alex Bennée
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
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.bennee@linaro.org> Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> Cc: Philippe Mathieu-Daudé <f4bug@amsat.org> --- configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.20.1