Messages in this thread Patch in this message | | | From | Josef Bacik <> | Subject | [PATCH 3/7] sched/fair: fix definitions of effective load | Date | Fri, 14 Jul 2017 13:21:00 +0000 |
| |
From: Josef Bacik <jbacik@fb.com>
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@fb.com> --- 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
| |