aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-07-03 03:25:10 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-03 18:27:07 -0400
commitfcb993712f231a4faea8393513d1276170679107 (patch)
treec92cf94cd5e705192c69b3cb712e4b6c8346f477 /kernel/sched.c
parentd730e882a15c38de02b63a063be636b2ff9e9ed1 (diff)
[PATCH] lockdep: annotate scheduler runqueue locks
Teach per-CPU runqueue locks and recursive locking code to the lock validator. Has no effect on non-lockdep kernels. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r--kernel/sched.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index ae4db0185bb2..f4778d1aef69 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -266,6 +266,7 @@ struct runqueue {
266 unsigned long ttwu_cnt; 266 unsigned long ttwu_cnt;
267 unsigned long ttwu_local; 267 unsigned long ttwu_local;
268#endif 268#endif
269 struct lock_class_key rq_lock_key;
269}; 270};
270 271
271static DEFINE_PER_CPU(struct runqueue, runqueues); 272static DEFINE_PER_CPU(struct runqueue, runqueues);
@@ -6656,6 +6657,7 @@ void __init sched_init(void)
6656 6657
6657 rq = cpu_rq(i); 6658 rq = cpu_rq(i);
6658 spin_lock_init(&rq->lock); 6659 spin_lock_init(&rq->lock);
6660 lockdep_set_class(&rq->lock, &rq->rq_lock_key);
6659 rq->nr_running = 0; 6661 rq->nr_running = 0;
6660 rq->active = rq->arrays; 6662 rq->active = rq->arrays;
6661 rq->expired = rq->arrays + 1; 6663 rq->expired = rq->arrays + 1;