diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/fair.c | 7 |
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; |
