]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT
authorFrederic Weisbecker <fweisbec@gmail.com>
Tue, 7 Jun 2011 23:51:02 +0000 (01:51 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Fri, 10 Jun 2011 13:16:06 +0000 (15:16 +0200)
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>
lib/Kconfig.debug

index 28afa4c5333c121e8a9feac719892fb17e5ef9a0..a7dd7b547fea67a0a8ccdb4fe9a1a57db60e9874 100644 (file)
@@ -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