There is a suspicious RCU warning at startup which is harmless but this locking removes it. -ck --- kernel/sched/bfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) Index: linux-3.7-bfs/kernel/sched/bfs.c =================================================================== --- linux-3.7-bfs.orig/kernel/sched/bfs.c 2013-01-29 01:21:39.948486112 +1100 +++ linux-3.7-bfs/kernel/sched/bfs.c 2013-01-29 01:22:35.994785437 +1100 @@ -7168,6 +7168,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; @@ -7197,8 +7199,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. */