sched/fair: Clean up scale confusion
Wanpeng noted that the scale_load_down() in calculate_imbalance() was weird. I agree, it should be SCHED_CAPACITY_SCALE, since we're going to compare against busiest->group_capacity, which is in [capacity] units. Reported-by: Wanpeng Li <wanpeng.li@hotmail.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Morten Rasmussen <morten.rasmussen@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Yuyang Du <yuyang.du@intel.com> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
444969223c
Коммит
1be0eb2a97
|
@ -7066,8 +7066,7 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s
|
||||||
*/
|
*/
|
||||||
if (busiest->group_type == group_overloaded &&
|
if (busiest->group_type == group_overloaded &&
|
||||||
local->group_type == group_overloaded) {
|
local->group_type == group_overloaded) {
|
||||||
load_above_capacity = busiest->sum_nr_running *
|
load_above_capacity = busiest->sum_nr_running * SCHED_CAPACITY_SCALE;
|
||||||
scale_load_down(NICE_0_LOAD);
|
|
||||||
if (load_above_capacity > busiest->group_capacity)
|
if (load_above_capacity > busiest->group_capacity)
|
||||||
load_above_capacity -= busiest->group_capacity;
|
load_above_capacity -= busiest->group_capacity;
|
||||||
else
|
else
|
||||||
|
|
Загрузка…
Ссылка в новой задаче