--- kernel/sched/bfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) Index: linux-3.7-ck1/kernel/sched/bfs.c =================================================================== --- linux-3.7-ck1.orig/kernel/sched/bfs.c 2012-12-12 23:18:35.582107474 +1100 +++ linux-3.7-ck1/kernel/sched/bfs.c 2013-01-23 12:25:27.392855853 +1100 @@ -7286,6 +7286,8 @@ void __init sched_init_smp(void) */ for_each_online_cpu(cpu) { struct rq *rq = cpu_rq(cpu); + + mutex_lock(&sched_domains_mutex); for_each_domain(cpu, sd) { int locality, other_cpu; @@ -7315,8 +7317,9 @@ void __init sched_init_smp(void) rq->cpu_locality[other_cpu] = locality; } } + mutex_unlock(&sched_domains_mutex); -/* + /* * Each runqueue has its own function in case it doesn't have * siblings of its own allowing mixed topologies. */