mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 00/14] locking/rtmutex: Spring cleaning
@ 2021-03-23 21:30 Thomas Gleixner
  2021-03-23 21:30 ` [patch 01/14] locking/rtmutex: Remove rt_mutex_timed_lock() Thomas Gleixner
                   ` (14 more replies)
  0 siblings, 15 replies; 31+ messages in thread
From: Thomas Gleixner @ 2021-03-23 21:30 UTC (permalink / raw)
  To: LKML
  Cc: Peter Zijlstra, Ingo Molnar, Will Deacon, Waiman Long,
	Boqun Feng, Steven Rostedt, Sebastian Andrzej Siewior

While working on the rtmutex related RT bits we noticed quite some
inconsistencies and bitrot in the rtmutex code.

Mop it up.

Thanks,

	tglx
---
 b/include/linux/rtmutex.h         |   35 ---
 b/kernel/locking/Makefile         |    2 
 b/kernel/locking/rtmutex.c        |  379 +++++++++++++-------------------------
 b/kernel/locking/rtmutex_common.h |   98 ++++-----
 kernel/locking/rtmutex-debug.c    |  182 ------------------
 kernel/locking/rtmutex-debug.h    |   37 ---
 kernel/locking/rtmutex.h          |   35 ---
 7 files changed, 184 insertions(+), 584 deletions(-)



^ permalink raw reply	[flat|nested] 31+ messages in thread
* [patch V2 05/15] locking/rtmutex: Remove empty and unused debug stubs
@ 2021-03-26 15:29 Thomas Gleixner
  2021-03-29 16:24 ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
  0 siblings, 1 reply; 31+ messages in thread
From: Thomas Gleixner @ 2021-03-26 15:29 UTC (permalink / raw)
  To: LKML
  Cc: Peter Zijlstra, Ingo Molnar, Will Deacon, Waiman Long,
	Boqun Feng, Steven Rostedt, Sebastian Andrzej Siewior

No users or useless and therefore just ballast.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
V2: Remove them properly 
---
 include/linux/rtmutex.h        |   14 ++------------
 kernel/locking/rtmutex-debug.c |    9 ---------
 kernel/locking/rtmutex-debug.h |    3 ---
 kernel/locking/rtmutex.c       |   18 ------------------
 kernel/locking/rtmutex.h       |    2 --
 5 files changed, 2 insertions(+), 44 deletions(-)

--- a/include/linux/rtmutex.h
+++ b/include/linux/rtmutex.h
@@ -40,18 +40,9 @@ struct rt_mutex_waiter;
 struct hrtimer_sleeper;
 
 #ifdef CONFIG_DEBUG_RT_MUTEXES
- extern int rt_mutex_debug_check_no_locks_freed(const void *from,
-						unsigned long len);
- extern void rt_mutex_debug_check_no_locks_held(struct task_struct *task);
- extern void rt_mutex_debug_task_free(struct task_struct *tsk);
+extern void rt_mutex_debug_task_free(struct task_struct *tsk);
 #else
- static inline int rt_mutex_debug_check_no_locks_freed(const void *from,
-						       unsigned long len)
- {
-	return 0;
- }
-# define rt_mutex_debug_check_no_locks_held(task)	do { } while (0)
-# define rt_mutex_debug_task_free(t)			do { } while (0)
+static inline void rt_mutex_debug_task_free(struct task_struct *tsk) { }
 #endif
 
 #define rt_mutex_init(mutex) \
@@ -88,7 +79,6 @@ static inline int rt_mutex_is_locked(str
 }
 
 extern void __rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key);
-extern void rt_mutex_destroy(struct rt_mutex *lock);
 
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
 extern void rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass);
--- a/kernel/locking/rtmutex-debug.c
+++ b/kernel/locking/rtmutex-debug.c
@@ -38,20 +38,11 @@ void rt_mutex_debug_task_free(struct tas
 	DEBUG_LOCKS_WARN_ON(task->pi_blocked_on);
 }
 
-void debug_rt_mutex_lock(struct rt_mutex *lock)
-{
-}
-
 void debug_rt_mutex_unlock(struct rt_mutex *lock)
 {
 	DEBUG_LOCKS_WARN_ON(rt_mutex_owner(lock) != current);
 }
 
-void
-debug_rt_mutex_proxy_lock(struct rt_mutex *lock, struct task_struct *powner)
-{
-}
-
 void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock)
 {
 	DEBUG_LOCKS_WARN_ON(!rt_mutex_owner(lock));
--- a/kernel/locking/rtmutex-debug.h
+++ b/kernel/locking/rtmutex-debug.h
@@ -13,10 +13,7 @@
 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, struct lock_class_key *key);
-extern void debug_rt_mutex_lock(struct rt_mutex *lock);
 extern void debug_rt_mutex_unlock(struct rt_mutex *lock);
-extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock,
-				      struct task_struct *powner);
 extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock);
 
 static inline bool debug_rt_mutex_detect_deadlock(struct rt_mutex_waiter *waiter,
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -885,9 +885,6 @@ static int try_to_take_rt_mutex(struct r
 	raw_spin_unlock(&task->pi_lock);
 
 takeit:
-	/* We got the lock. */
-	debug_rt_mutex_lock(lock);
-
 	/*
 	 * This either preserves the RT_MUTEX_HAS_WAITERS bit if there
 	 * are still waiters or clears it.
@@ -1581,20 +1578,6 @@ void __sched rt_mutex_futex_unlock(struc
 }
 
 /**
- * rt_mutex_destroy - mark a mutex unusable
- * @lock: the mutex to be destroyed
- *
- * This function marks the mutex uninitialized, and any subsequent
- * use of the mutex is forbidden. The mutex must not be locked when
- * this function is called.
- */
-void rt_mutex_destroy(struct rt_mutex *lock)
-{
-	WARN_ON(rt_mutex_is_locked(lock));
-}
-EXPORT_SYMBOL_GPL(rt_mutex_destroy);
-
-/**
  * __rt_mutex_init - initialize the rt_mutex
  *
  * @lock:	The rt_mutex to be initialized
@@ -1635,7 +1618,6 @@ void rt_mutex_init_proxy_locked(struct r
 				struct task_struct *proxy_owner)
 {
 	__rt_mutex_init(lock, NULL, NULL);
-	debug_rt_mutex_proxy_lock(lock, proxy_owner);
 	rt_mutex_set_owner(lock, proxy_owner);
 }
 
--- a/kernel/locking/rtmutex.h
+++ b/kernel/locking/rtmutex.h
@@ -13,8 +13,6 @@
 
 #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)
-#define debug_rt_mutex_proxy_lock(l,p)			do { } while (0)
 #define debug_rt_mutex_proxy_unlock(l)			do { } while (0)
 #define debug_rt_mutex_unlock(l)			do { } while (0)
 #define debug_rt_mutex_init(m, n, k)			do { } while (0)


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2021-03-29 16:25 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 21:30 [patch 00/14] locking/rtmutex: Spring cleaning Thomas Gleixner
2021-03-23 21:30 ` [patch 01/14] locking/rtmutex: Remove rt_mutex_timed_lock() Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-03-23 21:30 ` [patch 02/14] locking/rtmutex: Remove rtmutex deadlock tester leftovers Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-03-23 21:30 ` [patch 03/14] locking/rtmutex: Remove output from deadlock detector Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-03-23 21:30 ` [patch 04/14] locking/rtmutex: Consolidate rt_mutex_init() Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Sebastian Andrzej Siewior
2021-03-23 21:30 ` [patch 05/14] locking/rtmutex: Remove empty and unused debug stubs Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 06/14] locking/rtmutex: Move rt_mutex_debug_task_free() to rtmutex.c Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 07/14] locking/rtmutex: Inline chainwalk depth check Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 08/14] locking/rtmutex: Remove pointless CONFIG_RT_MUTEXES=n stubs Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 09/14] locking/rtmutex: Decrapify __rt_mutex_init() Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 10/14] locking/rtmutex: Move debug functions as inlines into common header Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 11/14] locking/rtmutex: Make text section and inlining consistent Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 12/14] locking/rtmutex: Consolidate the fast/slowpath invocation Thomas Gleixner
2021-03-23 22:05   ` Thomas Gleixner
2021-03-23 21:30 ` [patch 13/14] locking/rtmutex: Fix misleading comment in rt_mutex_postunlock() Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:30 ` [patch 14/14] locking/rtmutex: Restrict the trylock WARN_ON() to debug Thomas Gleixner
2021-03-24  7:22   ` [tip: locking/core] " tip-bot2 for Thomas Gleixner
2021-03-23 21:47 ` [patch 00/14] locking/rtmutex: Spring cleaning Thomas Gleixner
2021-03-26 15:29 [patch V2 05/15] locking/rtmutex: Remove empty and unused debug stubs Thomas Gleixner
2021-03-29 16:24 ` [tip: locking/core] " tip-bot2 for Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®