On Thu, Mar 07, 2019 at 03:59:04PM -0800, Zubin Mithra wrote: > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > > commit 38d589f2fd08f1296aea3ce62bebd185125c6d81 upstream > > With the ultimate goal of keeping rt_mutex wait_list and futex_q waiters > consistent it's necessary to split 'rt_mutex_futex_lock()' into finer > parts, such that only the actual blocking can be done without hb->lock > held. > > Split split_mutex_finish_proxy_lock() into two parts, one that does the > blocking and one that does remove_waiter() when the lock acquire failed. > > When the rtmutex was acquired successfully the waiter can be removed in the > acquisiton path safely, since there is no concurrency on the lock owner. > > This means that, except for futex_lock_pi(), all wait_list modifications > are done with both hb->lock and wait_lock held. > > [bigeasy@xxxxxxxxxxxxx: fix for futex_requeue_pi_signal_restart] > > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > Cc: juri.lelli@xxxxxxx > Cc: bigeasy@xxxxxxxxxxxxx > Cc: xlpang@xxxxxxxxxx > Cc: rostedt@xxxxxxxxxxx > Cc: mathieu.desnoyers@xxxxxxxxxxxx > Cc: jdesfossez@xxxxxxxxxxxx > Cc: dvhart@xxxxxxxxxxxxx > Cc: bristot@xxxxxxxxxx > Link: http://lkml.kernel.org/r/20170322104152.001659630@xxxxxxxxxxxxx > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Signed-off-by: Zubin Mithra <zsm@xxxxxxxxxxxx> > --- > kernel/futex.c | 7 +++-- > kernel/locking/rtmutex.c | 52 ++++++++++++++++++++++++++++----- > kernel/locking/rtmutex_common.h | 9 ++++-- > 3 files changed, 56 insertions(+), 12 deletions(-) Why is this needed for 4.4.y and not 4.9.y? What bug/issue does it resolve? >From the changelog text, all it looks like it is doing here is reorganizing the code a bit. confused, greg k-h