aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2011-06-07 19:13:27 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2011-06-10 09:15:40 -0400
commitbdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a (patch)
tree9cee98e78a5aa6a00f3b7ce805b1e39a0137b4a4 /kernel/sched.c
parent2da8c8bc44b572cbf623629ff736608dc7968436 (diff)
sched: Isolate preempt counting in its own config option
Create a new CONFIG_PREEMPT_COUNT that handles the inc/dec of preempt count offset independently. So that the offset can be updated by preempt_disable() and preempt_enable() even without the need for CONFIG_PREEMPT beeing set. This prepares to make CONFIG_DEBUG_SPINLOCK_SLEEP working with !CONFIG_PREEMPT where it currently doesn't detect code that sleeps inside explicit preemption disabled sections. 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 'kernel/sched.c')
-rw-r--r--kernel/sched.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 01d9536aaa8..90ad7cf2b29 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2843,7 +2843,7 @@ void sched_fork(struct task_struct *p)
2843#if defined(CONFIG_SMP) 2843#if defined(CONFIG_SMP)
2844 p->on_cpu = 0; 2844 p->on_cpu = 0;
2845#endif 2845#endif
2846#ifdef CONFIG_PREEMPT 2846#ifdef CONFIG_PREEMPT_COUNT
2847 /* Want to start with kernel preemption disabled. */ 2847 /* Want to start with kernel preemption disabled. */
2848 task_thread_info(p)->preempt_count = 1; 2848 task_thread_info(p)->preempt_count = 1;
2849#endif 2849#endif