On Wed, Sep 29, 2021 at 09:23:08AM +0200, Daniel Wagner wrote: > Hi, > > On 18.09.21 01:16, Luis Claudio R. Goncalves wrote: > > > If I revert "futex: Futex_unlock_pi() determinism" pi_stress will work. With > > > the patch applied the process just hangs. I've attached gdb to see what's > > > going on in this case: > > Thanks for all the tips. It took me a while to figure out what's wrong. The > hint was in the reverted patch... The patch depends on the 'newly' > introduced locking rules (pi_state->pi_mutex.wait_lock, hb->lock), > though the stable backport is not shipping it. Here the hint: > > However, now that modifying wait_list is done while holding both > hb->lock and wait_lock, the scenario can be avoided entirely by > acquiring wait_lock while still holding hb-lock. Doing a hand-over, > without leaving a hole. > > After a quick test merge of put_pi_state() from v4.9-rt things seem > to start working again. I need some more time to polish and verify > all changes but at least I know now what's wrong. Fantastic! Please let me know if I can help in any way :) Luis