forked from rrcarlosr/Jetpack
197 lines
6.0 KiB
Diff
197 lines
6.0 KiB
Diff
From cd72e9bff10d09667c7b2142fc4fac1d63453aa3 Mon Sep 17 00:00:00 2001
|
|
From: Peter Zijlstra <peterz@infradead.org>
|
|
Date: Wed, 22 Mar 2017 11:35:50 +0100
|
|
Subject: [PATCH 007/352] futex: Remove rt_mutex_deadlock_account_*()
|
|
|
|
Upstream commit fffa954fb528963c2fb7b0c0084eb77e2be7ab52
|
|
|
|
These are unused and clutter up the code.
|
|
|
|
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.652692478@infradead.org
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
---
|
|
kernel/locking/rtmutex-debug.c | 9 --------
|
|
kernel/locking/rtmutex-debug.h | 3 ---
|
|
kernel/locking/rtmutex.c | 47 ++++++++++++++++--------------------------
|
|
kernel/locking/rtmutex.h | 2 --
|
|
4 files changed, 18 insertions(+), 43 deletions(-)
|
|
|
|
diff --git a/kernel/locking/rtmutex-debug.c b/kernel/locking/rtmutex-debug.c
|
|
index 62b6cee..0613c4b 100644
|
|
--- a/kernel/locking/rtmutex-debug.c
|
|
+++ b/kernel/locking/rtmutex-debug.c
|
|
@@ -173,12 +173,3 @@ void debug_rt_mutex_init(struct rt_mutex *lock, const char *name)
|
|
lock->name = name;
|
|
}
|
|
|
|
-void
|
|
-rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task)
|
|
-{
|
|
-}
|
|
-
|
|
-void rt_mutex_deadlock_account_unlock(struct task_struct *task)
|
|
-{
|
|
-}
|
|
-
|
|
diff --git a/kernel/locking/rtmutex-debug.h b/kernel/locking/rtmutex-debug.h
|
|
index d0519c3..b585af9 100644
|
|
--- a/kernel/locking/rtmutex-debug.h
|
|
+++ b/kernel/locking/rtmutex-debug.h
|
|
@@ -9,9 +9,6 @@
|
|
* This file contains macros used solely by rtmutex.c. Debug version.
|
|
*/
|
|
|
|
-extern void
|
|
-rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task);
|
|
-extern void rt_mutex_deadlock_account_unlock(struct task_struct *task);
|
|
extern void debug_rt_mutex_init_waiter(struct rt_mutex_waiter *waiter);
|
|
extern void debug_rt_mutex_free_waiter(struct rt_mutex_waiter *waiter);
|
|
extern void debug_rt_mutex_init(struct rt_mutex *lock, const char *name);
|
|
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
|
|
index 196cc46..385715b 100644
|
|
--- a/kernel/locking/rtmutex.c
|
|
+++ b/kernel/locking/rtmutex.c
|
|
@@ -956,8 +956,6 @@ static int try_to_take_rt_mutex(struct rt_mutex *lock, struct task_struct *task,
|
|
*/
|
|
rt_mutex_set_owner(lock, task);
|
|
|
|
- rt_mutex_deadlock_account_lock(lock, task);
|
|
-
|
|
return 1;
|
|
}
|
|
|
|
@@ -1365,8 +1363,6 @@ static bool __sched rt_mutex_slowunlock(struct rt_mutex *lock,
|
|
|
|
debug_rt_mutex_unlock(lock);
|
|
|
|
- rt_mutex_deadlock_account_unlock(current);
|
|
-
|
|
/*
|
|
* We must be careful here if the fast path is enabled. If we
|
|
* have no waiters queued we cannot set owner to NULL here
|
|
@@ -1432,11 +1428,10 @@ rt_mutex_fastlock(struct rt_mutex *lock, int state,
|
|
struct hrtimer_sleeper *timeout,
|
|
enum rtmutex_chainwalk chwalk))
|
|
{
|
|
- if (likely(rt_mutex_cmpxchg_acquire(lock, NULL, current))) {
|
|
- rt_mutex_deadlock_account_lock(lock, current);
|
|
+ if (likely(rt_mutex_cmpxchg_acquire(lock, NULL, current)))
|
|
return 0;
|
|
- } else
|
|
- return slowfn(lock, state, NULL, RT_MUTEX_MIN_CHAINWALK);
|
|
+
|
|
+ return slowfn(lock, state, NULL, RT_MUTEX_MIN_CHAINWALK);
|
|
}
|
|
|
|
static inline int
|
|
@@ -1448,21 +1443,19 @@ rt_mutex_timed_fastlock(struct rt_mutex *lock, int state,
|
|
enum rtmutex_chainwalk chwalk))
|
|
{
|
|
if (chwalk == RT_MUTEX_MIN_CHAINWALK &&
|
|
- likely(rt_mutex_cmpxchg_acquire(lock, NULL, current))) {
|
|
- rt_mutex_deadlock_account_lock(lock, current);
|
|
+ likely(rt_mutex_cmpxchg_acquire(lock, NULL, current)))
|
|
return 0;
|
|
- } else
|
|
- return slowfn(lock, state, timeout, chwalk);
|
|
+
|
|
+ return slowfn(lock, state, timeout, chwalk);
|
|
}
|
|
|
|
static inline int
|
|
rt_mutex_fasttrylock(struct rt_mutex *lock,
|
|
int (*slowfn)(struct rt_mutex *lock))
|
|
{
|
|
- if (likely(rt_mutex_cmpxchg_acquire(lock, NULL, current))) {
|
|
- rt_mutex_deadlock_account_lock(lock, current);
|
|
+ if (likely(rt_mutex_cmpxchg_acquire(lock, NULL, current)))
|
|
return 1;
|
|
- }
|
|
+
|
|
return slowfn(lock);
|
|
}
|
|
|
|
@@ -1472,19 +1465,18 @@ rt_mutex_fastunlock(struct rt_mutex *lock,
|
|
struct wake_q_head *wqh))
|
|
{
|
|
WAKE_Q(wake_q);
|
|
+ bool deboost;
|
|
|
|
- if (likely(rt_mutex_cmpxchg_release(lock, current, NULL))) {
|
|
- rt_mutex_deadlock_account_unlock(current);
|
|
+ if (likely(rt_mutex_cmpxchg_release(lock, current, NULL)))
|
|
+ return;
|
|
|
|
- } else {
|
|
- bool deboost = slowfn(lock, &wake_q);
|
|
+ deboost = slowfn(lock, &wake_q);
|
|
|
|
- wake_up_q(&wake_q);
|
|
+ wake_up_q(&wake_q);
|
|
|
|
- /* Undo pi boosting if necessary: */
|
|
- if (deboost)
|
|
- rt_mutex_adjust_prio(current);
|
|
- }
|
|
+ /* Undo pi boosting if necessary: */
|
|
+ if (deboost)
|
|
+ rt_mutex_adjust_prio(current);
|
|
}
|
|
|
|
/**
|
|
@@ -1595,10 +1587,9 @@ EXPORT_SYMBOL_GPL(rt_mutex_unlock);
|
|
bool __sched rt_mutex_futex_unlock(struct rt_mutex *lock,
|
|
struct wake_q_head *wqh)
|
|
{
|
|
- if (likely(rt_mutex_cmpxchg_release(lock, current, NULL))) {
|
|
- rt_mutex_deadlock_account_unlock(current);
|
|
+ if (likely(rt_mutex_cmpxchg_release(lock, current, NULL)))
|
|
return false;
|
|
- }
|
|
+
|
|
return rt_mutex_slowunlock(lock, wqh);
|
|
}
|
|
|
|
@@ -1656,7 +1647,6 @@ void rt_mutex_init_proxy_locked(struct rt_mutex *lock,
|
|
__rt_mutex_init(lock, NULL);
|
|
debug_rt_mutex_proxy_lock(lock, proxy_owner);
|
|
rt_mutex_set_owner(lock, proxy_owner);
|
|
- rt_mutex_deadlock_account_lock(lock, proxy_owner);
|
|
}
|
|
|
|
/**
|
|
@@ -1672,7 +1662,6 @@ void rt_mutex_proxy_unlock(struct rt_mutex *lock,
|
|
{
|
|
debug_rt_mutex_proxy_unlock(lock);
|
|
rt_mutex_set_owner(lock, NULL);
|
|
- rt_mutex_deadlock_account_unlock(proxy_owner);
|
|
}
|
|
|
|
/**
|
|
diff --git a/kernel/locking/rtmutex.h b/kernel/locking/rtmutex.h
|
|
index c406058..6607802 100644
|
|
--- a/kernel/locking/rtmutex.h
|
|
+++ b/kernel/locking/rtmutex.h
|
|
@@ -11,8 +11,6 @@
|
|
*/
|
|
|
|
#define rt_mutex_deadlock_check(l) (0)
|
|
-#define rt_mutex_deadlock_account_lock(m, t) do { } while (0)
|
|
-#define rt_mutex_deadlock_account_unlock(l) do { } while (0)
|
|
#define debug_rt_mutex_init_waiter(w) do { } while (0)
|
|
#define debug_rt_mutex_free_waiter(w) do { } while (0)
|
|
#define debug_rt_mutex_lock(l) do { } while (0)
|
|
--
|
|
2.7.4
|
|
|