summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2011-06-08 03:51:02 +0400
committerFrederic Weisbecker <fweisbec@gmail.com>2011-06-10 17:16:06 +0400
commite8f7c70f44f75c827c04239b0ae5f0068b65b76e (patch)
treef09f5a5189833e26a0d95ff42359f19f740066df /lib
parentbdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a (diff)
downloadlinux-e8f7c70f44f75c827c04239b0ae5f0068b65b76e.tar.xz
sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT
Select CONFIG_PREEMPT_COUNT when we enable the sleeping inside spinlock detection, so that the preempt offset gets correctly incremented/decremented from preempt_disable()/preempt_enable(). This makes the preempt count eventually working in !CONFIG_PREEMPT when that debug option is set and thus fixes the detection of explicit preemption disabled sections under such config. Code that sleeps in explicitly preempt disabled section can be finally spotted in non-preemptible kernels. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 28afa4c5333c..a7dd7b547fea 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -650,6 +650,7 @@ config TRACE_IRQFLAGS
config DEBUG_SPINLOCK_SLEEP
bool "Spinlock debugging: sleep-inside-spinlock checking"
+ select PREEMPT_COUNT
depends on DEBUG_KERNEL
help
If you say Y here, various routines which may sleep will become very