summaryrefslogtreecommitdiff
path: root/kernel/locking/rtmutex-debug.c
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2021-02-04 17:28:54 +0000
committerPanwar Vijay Kumar <pvijayku@codeaurora.org>2021-09-28 10:37:17 +0530
commit9c870a3295208eda292f2c0d655c94d0b92769c5 (patch)
tree71d434dba5c88971acd3e58a3c0cd36ecd1f10c6 /kernel/locking/rtmutex-debug.c
parent7504736e87258b542aeedf47460364b30b8cb79d (diff)
futex,rt_mutex: Provide futex specific rt_mutex API
From: Peter Zijlstra <peterz@infradead.org> [ Upstream commit 5293c2efda37775346885c7e924d4ef7018ea60b ] 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 in order to not rely on hb->lock so much. The reason rt_mutex_slowunlock() needs to drop wait_lock is because it can race with the rt_mutex fastpath, however futexes have their own fast path. Since futexes already have a bunch of separate rt_mutex accessors, complete that set and implement a rt_mutex variant without fastpath for them. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: juri.lelli@arm.com Cc: bigeasy@linutronix.de Cc: xlpang@redhat.com Cc: rostedt@goodmis.org Cc: mathieu.desnoyers@efficios.com Cc: jdesfossez@efficios.com Cc: dvhart@infradead.org Cc: bristot@redhat.com Link: http://lkml.kernel.org/r/20170322104151.702962446@infradead.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de> [Lee: Back-ported to solve a dependency] Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Git-commit: 6510e4a2d04f33e4bfd221760faab23e55d8772b Git-repo: https://android.googlesource.com/kernel/common/ Change-Id: I616435071e43d8fb6cc7e69cab6d48a8b4599073 Signed-off-by: pvijayku <pvijayku@codeaurora.org>
Diffstat (limited to 'kernel/locking/rtmutex-debug.c')
0 files changed, 0 insertions, 0 deletions