[PATCH 08/17] futex: Rework inconsistent rt_mutex/futex_q state

2018-11-09 Thread Henrik Austad
From: Peter Zijlstra commit 73d786bd043ebc855f349c81ea805f6b11cbf2aa upstream. There is a weird state in the futex_unlock_pi() path when it interleaves with a concurrent futex_lock_pi() at the point where it drops hb->lock. In this case, it can happen that the rt_mutex wait_list and the

[PATCH 08/17] futex: Rework inconsistent rt_mutex/futex_q state

2018-11-09 Thread Henrik Austad
From: Peter Zijlstra commit 73d786bd043ebc855f349c81ea805f6b11cbf2aa upstream. There is a weird state in the futex_unlock_pi() path when it interleaves with a concurrent futex_lock_pi() at the point where it drops hb->lock. In this case, it can happen that the rt_mutex wait_list and the