Do not wake up idle or offline runqueues unnecessarily in check_smt_siblings. -ck --- kernel/sched/bfs.c | 4 ++++ 1 file changed, 4 insertions(+) Index: linux-3.15.5-ck1/kernel/sched/bfs.c =================================================================== --- linux-3.15.5-ck1.orig/kernel/sched/bfs.c 2014-08-11 10:22:35.394423127 +1000 +++ linux-3.15.5-ck1/kernel/sched/bfs.c 2014-08-12 11:26:36.480936005 +1000 @@ -3297,6 +3297,10 @@ static void check_smt_siblings(int cpu) if (other_cpu == cpu) continue; rq = cpu_rq(other_cpu); + if (rq_idle(rq)) + continue; + if (!rq->online) + continue; p = rq->curr; if (smt_should_schedule(p, cpu)) { set_tsk_need_resched(p);