mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] mutex: Better control mutex adaptive spinning config
@ 2009-12-02 19:49 Frederic Weisbecker
  2009-12-02 19:49 ` [PATCH 2/2] mutex: Fix missing conditions to build mutex_spin_on_owner() Frederic Weisbecker
  2009-12-03 13:23 ` [tip:core/locking] mutex: Better control mutex adaptive spinning config tip-bot for Frederic Weisbecker
  0 siblings, 2 replies; 4+ messages in thread
From: Frederic Weisbecker @ 2009-12-02 19:49 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: LKML, Frederic Weisbecker, Peter Zijlstra

Introduce CONFIG_MUTEX_SPIN_ON_OWNER so that we can centralize in a
single place the conditions that determine its definition and use.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
---
 kernel/Kconfig.locks |    3 +++
 kernel/mutex.c       |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/kernel/Kconfig.locks b/kernel/Kconfig.locks
index d1f86db..88c92fb 100644
--- a/kernel/Kconfig.locks
+++ b/kernel/Kconfig.locks
@@ -197,3 +197,6 @@ config INLINE_WRITE_UNLOCK_IRQ
 
 config INLINE_WRITE_UNLOCK_IRQRESTORE
 	def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
+
+config MUTEX_SPIN_ON_OWNER
+	def_bool SMP && !DEBUG_MUTEXES && !HAVE_DEFAULT_NO_SPIN_MUTEXES
diff --git a/kernel/mutex.c b/kernel/mutex.c
index 947b3ad..632f04c 100644
--- a/kernel/mutex.c
+++ b/kernel/mutex.c
@@ -148,8 +148,8 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
 
 	preempt_disable();
 	mutex_acquire(&lock->dep_map, subclass, 0, ip);
-#if defined(CONFIG_SMP) && !defined(CONFIG_DEBUG_MUTEXES) && \
-    !defined(CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES)
+
+#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
 	/*
 	 * Optimistic spinning.
 	 *
-- 
1.6.2.3


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

* [PATCH 2/2] mutex: Fix missing conditions to build mutex_spin_on_owner()
  2009-12-02 19:49 [PATCH 1/2] mutex: Better control mutex adaptive spinning config Frederic Weisbecker
@ 2009-12-02 19:49 ` Frederic Weisbecker
  2009-12-03 13:23   ` [tip:core/locking] " tip-bot for Frederic Weisbecker
  2009-12-03 13:23 ` [tip:core/locking] mutex: Better control mutex adaptive spinning config tip-bot for Frederic Weisbecker
  1 sibling, 1 reply; 4+ messages in thread
From: Frederic Weisbecker @ 2009-12-02 19:49 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: LKML, Frederic Weisbecker, Peter Zijlstra

We don't need to build mutex_spin_on_owner() if we have
CONFIG_DEBUG_MUTEXES or CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES as it
won't be used under such configs.

Use CONFIG_MUTEX_SPIN_ON_OWNER as it gathers all the necessary checks
before building it.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
---
 kernel/sched.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index 7b1b2b5..aa31244 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5527,7 +5527,7 @@ need_resched_nonpreemptible:
 }
 EXPORT_SYMBOL(schedule);
 
-#ifdef CONFIG_SMP
+#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
 /*
  * Look out! "owner" is an entirely speculative pointer
  * access and not reliable.
-- 
1.6.2.3


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

* [tip:core/locking] mutex: Better control mutex adaptive spinning config
  2009-12-02 19:49 [PATCH 1/2] mutex: Better control mutex adaptive spinning config Frederic Weisbecker
  2009-12-02 19:49 ` [PATCH 2/2] mutex: Fix missing conditions to build mutex_spin_on_owner() Frederic Weisbecker
@ 2009-12-03 13:23 ` tip-bot for Frederic Weisbecker
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Frederic Weisbecker @ 2009-12-03 13:23 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, fweisbec, peterz, tglx, mingo

Commit-ID:  c02260277e472095ffb3ad893be5eeab9dcefde3
Gitweb:     http://git.kernel.org/tip/c02260277e472095ffb3ad893be5eeab9dcefde3
Author:     Frederic Weisbecker <fweisbec@gmail.com>
AuthorDate: Wed, 2 Dec 2009 20:49:16 +0100
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 3 Dec 2009 11:50:11 +0100

mutex: Better control mutex adaptive spinning config

Introduce CONFIG_MUTEX_SPIN_ON_OWNER so that we can centralize
in a single place the conditions that determine its definition
and use.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <1259783357-8542-1-git-send-regression-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
---
 kernel/Kconfig.locks |    3 +++
 kernel/mutex.c       |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/kernel/Kconfig.locks b/kernel/Kconfig.locks
index d1f86db..88c92fb 100644
--- a/kernel/Kconfig.locks
+++ b/kernel/Kconfig.locks
@@ -197,3 +197,6 @@ config INLINE_WRITE_UNLOCK_IRQ
 
 config INLINE_WRITE_UNLOCK_IRQRESTORE
 	def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
+
+config MUTEX_SPIN_ON_OWNER
+	def_bool SMP && !DEBUG_MUTEXES && !HAVE_DEFAULT_NO_SPIN_MUTEXES
diff --git a/kernel/mutex.c b/kernel/mutex.c
index 947b3ad..632f04c 100644
--- a/kernel/mutex.c
+++ b/kernel/mutex.c
@@ -148,8 +148,8 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
 
 	preempt_disable();
 	mutex_acquire(&lock->dep_map, subclass, 0, ip);
-#if defined(CONFIG_SMP) && !defined(CONFIG_DEBUG_MUTEXES) && \
-    !defined(CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES)
+
+#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
 	/*
 	 * Optimistic spinning.
 	 *

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

* [tip:core/locking] mutex: Fix missing conditions to build mutex_spin_on_owner()
  2009-12-02 19:49 ` [PATCH 2/2] mutex: Fix missing conditions to build mutex_spin_on_owner() Frederic Weisbecker
@ 2009-12-03 13:23   ` tip-bot for Frederic Weisbecker
  0 siblings, 0 replies; 4+ messages in thread
From: tip-bot for Frederic Weisbecker @ 2009-12-03 13:23 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, fweisbec, peterz, tglx, mingo

Commit-ID:  c08f782985eed9959438368e84ce1d7f2ed03d95
Gitweb:     http://git.kernel.org/tip/c08f782985eed9959438368e84ce1d7f2ed03d95
Author:     Frederic Weisbecker <fweisbec@gmail.com>
AuthorDate: Wed, 2 Dec 2009 20:49:17 +0100
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 3 Dec 2009 11:50:11 +0100

mutex: Fix missing conditions to build mutex_spin_on_owner()

We don't need to build mutex_spin_on_owner() if we have
CONFIG_DEBUG_MUTEXES or CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES as
it won't be used under such configs.

Use CONFIG_MUTEX_SPIN_ON_OWNER as it gathers all the necessary
checks before building it.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <1259783357-8542-2-git-send-regression-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
---
 kernel/sched.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index 3c11ae0..ec0af1f 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5481,7 +5481,7 @@ need_resched_nonpreemptible:
 }
 EXPORT_SYMBOL(schedule);
 
-#ifdef CONFIG_SMP
+#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
 /*
  * Look out! "owner" is an entirely speculative pointer
  * access and not reliable.

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

end of thread, other threads:[~2009-12-03 13:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-02 19:49 [PATCH 1/2] mutex: Better control mutex adaptive spinning config Frederic Weisbecker
2009-12-02 19:49 ` [PATCH 2/2] mutex: Fix missing conditions to build mutex_spin_on_owner() Frederic Weisbecker
2009-12-03 13:23   ` [tip:core/locking] " tip-bot for Frederic Weisbecker
2009-12-03 13:23 ` [tip:core/locking] mutex: Better control mutex adaptive spinning config tip-bot for Frederic Weisbecker

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

Powered by JetHome