diff options
Diffstat (limited to 'features/rt/locking-rtmutex-Remove-cruft.patch')
-rw-r--r-- | features/rt/locking-rtmutex-Remove-cruft.patch | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/features/rt/locking-rtmutex-Remove-cruft.patch b/features/rt/locking-rtmutex-Remove-cruft.patch new file mode 100644 index 00000000..e2db5d4c --- /dev/null +++ b/features/rt/locking-rtmutex-Remove-cruft.patch @@ -0,0 +1,98 @@ +From e859f18657493031c5e83651fea4298b1e5dd97b Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Tue, 29 Sep 2020 15:21:17 +0200 +Subject: [PATCH 061/191] locking/rtmutex: Remove cruft + +Most of this is around since the very beginning. I'm not sure if this +was used while the rtmutex-deadlock-tester was around but today it seems +to only waste memory: +- save_state: No users +- name: Assigned and printed if a dead lock was detected. I'm keeping it + but want to point out that lockdep has the same information. +- file + line: Printed if ::name was NULL. This is only used for + in-kernel locks so it ::name shouldn't be NULL and then ::file and + ::line isn't used. +- magic: Assigned to NULL by rt_mutex_destroy(). + +Remove members of rt_mutex which are not used. + +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +--- + include/linux/rtmutex.h | 7 ++----- + kernel/locking/rtmutex-debug.c | 7 +------ + kernel/locking/rtmutex.c | 3 --- + kernel/locking/rtmutex_common.h | 1 - + 4 files changed, 3 insertions(+), 15 deletions(-) + +diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h +index 6fd615a0eea9..16f974a22f51 100644 +--- a/include/linux/rtmutex.h ++++ b/include/linux/rtmutex.h +@@ -32,10 +32,7 @@ struct rt_mutex { + struct rb_root_cached waiters; + struct task_struct *owner; + #ifdef CONFIG_DEBUG_RT_MUTEXES +- int save_state; +- const char *name, *file; +- int line; +- void *magic; ++ const char *name; + #endif + #ifdef CONFIG_DEBUG_LOCK_ALLOC + struct lockdep_map dep_map; +@@ -60,7 +57,7 @@ struct hrtimer_sleeper; + + #ifdef CONFIG_DEBUG_RT_MUTEXES + # define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \ +- , .name = #mutexname, .file = __FILE__, .line = __LINE__ ++ , .name = #mutexname + + # define rt_mutex_init(mutex) \ + do { \ +diff --git a/kernel/locking/rtmutex-debug.c b/kernel/locking/rtmutex-debug.c +index 36e69100e8e0..7e411b946d4c 100644 +--- a/kernel/locking/rtmutex-debug.c ++++ b/kernel/locking/rtmutex-debug.c +@@ -42,12 +42,7 @@ static void printk_task(struct task_struct *p) + + static void printk_lock(struct rt_mutex *lock, int print_owner) + { +- if (lock->name) +- printk(" [%p] {%s}\n", +- lock, lock->name); +- else +- printk(" [%p] {%s:%d}\n", +- lock, lock->file, lock->line); ++ printk(" [%p] {%s}\n", lock, lock->name); + + if (print_owner && rt_mutex_owner(lock)) { + printk(".. ->owner: %p\n", lock->owner); +diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c +index 48fff6437901..170e160fc0b5 100644 +--- a/kernel/locking/rtmutex.c ++++ b/kernel/locking/rtmutex.c +@@ -1640,9 +1640,6 @@ void __sched rt_mutex_futex_unlock(struct rt_mutex *lock) + void rt_mutex_destroy(struct rt_mutex *lock) + { + WARN_ON(rt_mutex_is_locked(lock)); +-#ifdef CONFIG_DEBUG_RT_MUTEXES +- lock->magic = NULL; +-#endif + } + EXPORT_SYMBOL_GPL(rt_mutex_destroy); + +diff --git a/kernel/locking/rtmutex_common.h b/kernel/locking/rtmutex_common.h +index ca6fb489007b..e6913103d7ff 100644 +--- a/kernel/locking/rtmutex_common.h ++++ b/kernel/locking/rtmutex_common.h +@@ -30,7 +30,6 @@ struct rt_mutex_waiter { + struct task_struct *task; + struct rt_mutex *lock; + #ifdef CONFIG_DEBUG_RT_MUTEXES +- unsigned long ip; + struct pid *deadlock_task_pid; + struct rt_mutex *deadlock_lock; + #endif +-- +2.19.1 + |