Re: [PATCH v4.4.y] futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux