[PATCH 3/7] sched/fair: fix definitions of effective load

From: Josef Bacik
Date: Fri Jul 14 2017 - 09:22:29 EST


From: Josef Bacik <jbacik@xxxxxx>

It appears as though we've reversed the definitions of 'this_effective_load' and
'prev_effective_load'. We seem to be using the wrong CPU capacity for both of
these parameters, and we want to add the imbalance percentage to the current CPU
to make sure we're meeting a high enough load imbalance threshold to justify
moving the task.

Signed-off-by: Josef Bacik <jbacik@xxxxxx>
---
kernel/sched/fair.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 5d4489e..d958634 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5679,11 +5679,11 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p,
* Otherwise check if either cpus are near enough in load to allow this
* task to be woken on this_cpu.
*/
- this_eff_load = 100;
- this_eff_load *= capacity_of(prev_cpu);
+ prev_eff_load = 100;
+ prev_eff_load *= capacity_of(prev_cpu);

- prev_eff_load = 100 + (sd->imbalance_pct - 100) / 2;
- prev_eff_load *= capacity_of(this_cpu);
+ this_eff_load = 100 + (sd->imbalance_pct - 100) / 2;
+ this_eff_load *= capacity_of(this_cpu);

if (this_load > 0) {
this_eff_load *= this_load +
--
2.9.3