diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index f881fc5e035cd810f911337056c5b7879f1658af..2208692dc4a004714d02f27a6579e74fa71d52ef 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -925,6 +925,9 @@ static int select_task_rq_fair(struct task_struct *p, int sync) this_cpu = smp_processor_id(); new_cpu = cpu; + if (cpu == this_cpu) + goto out_set_cpu; + for_each_domain(this_cpu, sd) { if (cpu_isset(cpu, sd->span)) { this_sd = sd;