diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index f49db5d9c..19c7e09c0 100755 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -2124,8 +2124,11 @@ static int rto_next_cpu(struct root_domain *rd) rd->rto_cpu = cpu; - if (cpu < nr_cpu_ids) + if (cpu < nr_cpu_ids) { + if (!has_pushable_tasks(cpu_rq(cpu))) + continue; return cpu; + } rd->rto_cpu = -1;