[PATCH 05/17] futex,rt_mutex: Provide futex specific rt_mutex API

2018-11-09 Thread Henrik Austad
From: Peter Zijlstra commit 5293c2efda37775346885c7e924d4ef7018ea60b upstream. Part of what makes futex_unlock_pi() intricate is that rt_mutex_futex_unlock() -> rt_mutex_slowunlock() can drop rt_mutex::wait_lock. This means it cannot rely on the atomicy of wait_lock, which would be preferred

[PATCH 05/17] futex,rt_mutex: Provide futex specific rt_mutex API

2018-11-09 Thread Henrik Austad
From: Peter Zijlstra commit 5293c2efda37775346885c7e924d4ef7018ea60b upstream. Part of what makes futex_unlock_pi() intricate is that rt_mutex_futex_unlock() -> rt_mutex_slowunlock() can drop rt_mutex::wait_lock. This means it cannot rely on the atomicy of wait_lock, which would be preferred