diff options
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r-- | kernel/sched_fair.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 806d1b227a21..134f7edb30c6 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c | |||
@@ -1313,7 +1313,7 @@ static struct sched_group * | |||
1313 | find_idlest_group(struct sched_domain *sd, struct task_struct *p, | 1313 | find_idlest_group(struct sched_domain *sd, struct task_struct *p, |
1314 | int this_cpu, int load_idx) | 1314 | int this_cpu, int load_idx) |
1315 | { | 1315 | { |
1316 | struct sched_group *idlest = NULL, *this = NULL, *group = sd->groups; | 1316 | struct sched_group *idlest = NULL, *group = sd->groups; |
1317 | unsigned long min_load = ULONG_MAX, this_load = 0; | 1317 | unsigned long min_load = ULONG_MAX, this_load = 0; |
1318 | int imbalance = 100 + (sd->imbalance_pct-100)/2; | 1318 | int imbalance = 100 + (sd->imbalance_pct-100)/2; |
1319 | 1319 | ||
@@ -1348,7 +1348,6 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, | |||
1348 | 1348 | ||
1349 | if (local_group) { | 1349 | if (local_group) { |
1350 | this_load = avg_load; | 1350 | this_load = avg_load; |
1351 | this = group; | ||
1352 | } else if (avg_load < min_load) { | 1351 | } else if (avg_load < min_load) { |
1353 | min_load = avg_load; | 1352 | min_load = avg_load; |
1354 | idlest = group; | 1353 | idlest = group; |
@@ -3752,6 +3751,8 @@ static void task_fork_fair(struct task_struct *p) | |||
3752 | 3751 | ||
3753 | raw_spin_lock_irqsave(&rq->lock, flags); | 3752 | raw_spin_lock_irqsave(&rq->lock, flags); |
3754 | 3753 | ||
3754 | update_rq_clock(rq); | ||
3755 | |||
3755 | if (unlikely(task_cpu(p) != this_cpu)) | 3756 | if (unlikely(task_cpu(p) != this_cpu)) |
3756 | __set_task_cpu(p, this_cpu); | 3757 | __set_task_cpu(p, this_cpu); |
3757 | 3758 | ||