Clear any CPUs going offline from the idle mask to prevent tasks trying to schedule onto them. -ck --- kernel/sched/bfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) Index: linux-4.7-ck4/kernel/sched/bfs.c =================================================================== --- linux-4.7-ck4.orig/kernel/sched/bfs.c 2016-09-13 17:21:54.034208821 +1000 +++ linux-4.7-ck4/kernel/sched/bfs.c 2016-09-13 17:21:54.032208866 +1000 @@ -5773,8 +5773,11 @@ static void set_rq_online(struct rq *rq) static void set_rq_offline(struct rq *rq) { if (rq->online) { - cpumask_clear_cpu(cpu_of(rq), rq->rd->online); + int cpu = cpu_of(rq); + + cpumask_clear_cpu(cpu, rq->rd->online); rq->online = false; + clear_cpuidle_map(cpu); } }