diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index a7589552be5f..2a33cb5a10e5 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6286,7 +6286,8 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target) if (is_per_cpu_kthread(current) && in_task() && prev == smp_processor_id() && - this_rq()->nr_running <= 1) { + this_rq()->nr_running <= 1 && + asym_fits_capacity(task_util, prev)) { return prev; }