[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <eacbf3b3-b004-4086-8db1-82e75407bbaa@linux.ibm.com>
Date: Tue, 30 Jan 2024 11:12:01 +0100
From: Stefan Liebler <stli@...ux.ibm.com>
To: "Edgecombe, Rick P" <rick.p.edgecombe@...el.com>,
"peterz@...radead.org" <peterz@...radead.org>
Cc: "xry111@...111.site" <xry111@...111.site>,
"hca@...ux.ibm.com" <hca@...ux.ibm.com>,
"andrealmeid@...lia.com" <andrealmeid@...lia.com>,
"fweimer@...hat.com" <fweimer@...hat.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"libc-alpha@...rceware.org" <libc-alpha@...rceware.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"svens@...ux.ibm.com" <svens@...ux.ibm.com>,
"linux-api@...r.kernel.org" <linux-api@...r.kernel.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>
Subject: Re: Several tst-robust* tests time out with recent Linux kernel
On 29.01.24 23:23, Edgecombe, Rick P wrote:
> On Fri, 2024-01-19 at 14:56 +0100, Stefan Liebler wrote:
>> I've reduced the test (see attachement) and now have only one process
>> with three threads.
>
> This tests fails on my setup as well:
> main: start 3 threads.
> #0: started: fct=1
> #1: started: fct=1
> #2: started: fct=1
> #2: mutex_timedlock failed with 22 (round=28772)
>
> But, after this patch:
> https://lore.kernel.org/all/20240116130810.ji1YCxpg@linutronix.de/
>
> ...the attached test hangs.
>
> However, the glibc test that was failing for me "nptl/tst-robustpi8"
> passes with the linked patch applied. So I think that patch fixes the
> issue I hit.
>
> What is passing supposed to look like on the attached test?
kernel commit "futex: Prevent the reuse of stale pi_state"
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=e626cb02ee8399fd42c415e542d031d185783903
fixes the issue on s390x.
With this commit, the test runs to the end:
main: start 3 threads.
#0: started: fct=1
#1: started: fct=1
#2: started: fct=1
#2: REACHED round 100000000. => exit
#0: REACHED round 100000000. => exit
#1: REACHED round 100000000. => exit
main: end.
If you want you can reduce the number of rounds by compiling with
-DROUNDS=XYZ or manually adjusting the ROUNDS macro define.
Powered by blists - more mailing lists