From: Ingo Molnar 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 Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton --- kernel/sched.c | 2 ++ 1 file changed, 2 insertions(+) diff -puN kernel/sched.c~lockdep-annotate-scheduler-runqueue-locks kernel/sched.c --- a/kernel/sched.c~lockdep-annotate-scheduler-runqueue-locks +++ a/kernel/sched.c @@ -268,6 +268,7 @@ struct runqueue { unsigned long ttwu_cnt; unsigned long ttwu_local; #endif + struct lock_class_key rq_lock_key; }; static DEFINE_PER_CPU(struct runqueue, runqueues); @@ -6801,6 +6802,7 @@ void __init sched_init(void) rq = cpu_rq(i); spin_lock_init(&rq->lock); + lockdep_set_class(&rq->lock, &rq->rq_lock_key); rq->nr_running = 0; rq->active = rq->arrays; rq->expired = rq->arrays + 1; _