[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240115121632.FX1P0-fi@linutronix.de>
Date: Mon, 15 Jan 2024 13:16:32 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Jiri Slaby <jirislaby@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>, linux-kernel@...r.kernel.org,
boqun.feng@...il.com, bristot@...hat.com, bsegall@...gle.com,
dietmar.eggemann@....com, jstultz@...gle.com, juri.lelli@...hat.com,
longman@...hat.com, mgorman@...e.de, mingo@...hat.com,
rostedt@...dmis.org, swood@...hat.com, vincent.guittot@...aro.org,
vschneid@...hat.com, will@...nel.org
Subject: Re: [PATCH v3 7/7] locking/rtmutex: Acquire the hb lock via trylock
after wait-proxylock.
On 2024-01-15 12:52:49 [+0100], Jiri Slaby wrote:
…
> >
> > The child in fact terminates on
> > https://github.com/apache/apr/blob/trunk/test/testprocmutex.c#L93:
> > while ((rv = apr_proc_mutex_timedlock(proc_lock, 1))) {
> > if (!APR_STATUS_IS_TIMEUP(rv))
> > exit(1); <----- here
> >
> > The test creates 6 children and does some
> > pthread_mutex_timedlock/unlock() repeatedly (200 times) in parallel
> > while sleeping 1 us inside the lock. The timeout is 1 us above. And the
> > test expects all them to fail (to time out). But the time out does not
> > always happen in 6.7 (it's racy, so the failure is semi-random: like 1
> > of 1000 attempts is bad).
>
> This is not precise as I misinterpreted. The test is: either it succeeds or
> times out.
>
> But since the commit, futex() yields 22/EINVAL, i.e. fails.
Let me see if I can reproduce it here…
Sebastian
Powered by blists - more mailing lists