linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "tip-bot2 for Thomas Gleixner" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@kernel.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: locking/core] locking/rtmutex: Decrapify __rt_mutex_init()
Date: Wed, 24 Mar 2021 07:22:28 -0000	[thread overview]
Message-ID: <161657054861.398.8416916314539432460.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20210323213708.400351704@linutronix.de>

The following commit has been merged into the locking/core branch of tip:

Commit-ID:     c86c6bdd1099f398706b59b145148f3d39a587b7
Gitweb:        https://git.kernel.org/tip/c86c6bdd1099f398706b59b145148f3d39a587b7
Author:        Thomas Gleixner <tglx@linutronix.de>
AuthorDate:    Tue, 23 Mar 2021 22:30:28 +01:00
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Wed, 24 Mar 2021 08:06:08 +01:00

locking/rtmutex: Decrapify __rt_mutex_init()

The conditional debug handling is just another layer of obfuscation. Split
the function so rt_mutex_init_proxy_locked() can invoke the inner init and
__rt_mutex_init() gets the full treatment.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20210323213708.400351704@linutronix.de
---
 kernel/locking/rtmutex.c        | 11 ++++-------
 kernel/locking/rtmutex_common.h |  7 +++++++
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 0eac57c..c9c2ab5 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -1586,12 +1586,10 @@ void __sched rt_mutex_futex_unlock(struct rt_mutex *lock)
 void __rt_mutex_init(struct rt_mutex *lock, const char *name,
 		     struct lock_class_key *key)
 {
-	lock->owner = NULL;
-	raw_spin_lock_init(&lock->wait_lock);
-	lock->waiters = RB_ROOT_CACHED;
+	debug_check_no_locks_freed((void *)lock, sizeof(*lock));
+	lockdep_init_map(&lock->dep_map, name, key, 0);
 
-	if (name && key)
-		debug_rt_mutex_init(lock, name, key);
+	__rt_mutex_basic_init(lock);
 }
 EXPORT_SYMBOL_GPL(__rt_mutex_init);
 
@@ -1612,8 +1610,7 @@ EXPORT_SYMBOL_GPL(__rt_mutex_init);
 void rt_mutex_init_proxy_locked(struct rt_mutex *lock,
 				struct task_struct *proxy_owner)
 {
-	__rt_mutex_init(lock, NULL, NULL);
-	debug_rt_mutex_proxy_lock(lock, proxy_owner);
+	__rt_mutex_basic_init(lock);
 	rt_mutex_set_owner(lock, proxy_owner);
 }
 
diff --git a/kernel/locking/rtmutex_common.h b/kernel/locking/rtmutex_common.h
index 0350ae3..1e11855 100644
--- a/kernel/locking/rtmutex_common.h
+++ b/kernel/locking/rtmutex_common.h
@@ -88,6 +88,13 @@ enum rtmutex_chainwalk {
 	RT_MUTEX_FULL_CHAINWALK,
 };
 
+static inline void __rt_mutex_basic_init(struct rt_mutex *lock)
+{
+	lock->owner = NULL;
+	raw_spin_lock_init(&lock->wait_lock);
+	lock->waiters = RB_ROOT_CACHED;
+}
+
 /*
  * PI-futex support (proxy locking functions, etc.):
  */

  reply	other threads:[~2021-03-24  7:23 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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-bot2 for Thomas Gleixner [this message]
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 09/15] locking/rtmutex: Decrapify __rt_mutex_init() Thomas Gleixner
2021-03-29 16:24 ` [tip: locking/core] " tip-bot2 for Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=161657054861.398.8416916314539432460.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).