summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/fair.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 463f27b60d96..f6bba6dfdf9e 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3277,8 +3277,10 @@ static int select_best_cpu(struct task_struct *p, int target, int reason,
}
}
- if (best_idle_cpu >= 0)
- return best_idle_cpu;
+ if (best_idle_cpu >= 0) {
+ best_cpu = best_idle_cpu;
+ goto done;
+ }
if (best_cpu < 0 || boost) {
if (unlikely(best_capacity_cpu < 0))
@@ -3290,6 +3292,7 @@ static int select_best_cpu(struct task_struct *p, int target, int reason,
best_cpu = best_sibling_cpu;
}
+done:
trace_sched_task_load(p, boost, reason, sync, need_idle, best_cpu);
return best_cpu;