This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] MIPS: run tst-mode-switch-{1,2,3}.c using test-skeleton.c
- From: "Maciej W. Rozycki" <macro at imgtec dot com>
- To: Aurelien Jarno <aurelien at aurel32 dot net>
- Cc: <libc-alpha at sourceware dot org>, Joseph Myers <joseph at codesourcery dot com>, Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- Date: Wed, 13 Jul 2016 19:11:53 +0100
- Subject: Re: [PATCH] MIPS: run tst-mode-switch-{1,2,3}.c using test-skeleton.c
- Authentication-results: sourceware.org; auth=none
- References: <1467039612-6050-1-git-send-email-aurelien@aurel32.net>
On Mon, 27 Jun 2016, Aurelien Jarno wrote:
> For some reasons I have not investigated yet, tst-mode-switch-1 hangs on
> a MIPS UTM-8 machine running an o32 userland and a 3.6.1 kernel.
>
> This patch changes the test so that it runs under the test-skeleton
> framework, causing the test to fail after a timeout instead of hanging
> the whole testsuite. At the same time, also change the tst-mode-switch-2
> and tst-mode-switch-3 tests.
FWIW I've noticed that too, with o32 and Linux 4.6.0-rc7. As I found the
hang quite annoying I made and have been using a similar change locally,
albeit to `tst-mode-switch-1' only, which I didn't get to submitting as I
got distracted with other stuff.
Interestingly enough the lone switch to running under the skeleton made
the hang go away for me entirely -- the test started succeeding rather
than hitting the skeleton's timeout. So I guess there's a race somewhere
leading to a deadlock or suchlike, and by hiding the failure this way we
may be making it more difficult to notice, let alone encourage someone to
actually fix it.
This was on an UP machine BTW, so the recent fix to prctl(2) (Linux
commit 6b8322576e9d ("MIPS: Force CPUs to lose FP context during mode
switches")) to use an IPI on MP configurations isn't supposed to apply.
I've tried running the test case both without and with the fix applied
anyway, just to make sure it indeed does not change anything, and -- as
expected -- there was no change whatsoever.
Maciej