diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-07-03 03:25:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-03 18:27:07 -0400 |
commit | fcb993712f231a4faea8393513d1276170679107 (patch) | |
tree | c92cf94cd5e705192c69b3cb712e4b6c8346f477 /kernel/sched.c | |
parent | d730e882a15c38de02b63a063be636b2ff9e9ed1 (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.c | 2 |
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 | ||
271 | static DEFINE_PER_CPU(struct runqueue, runqueues); | 272 | static 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; |