All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched/fair: Fix load_above_capacity fixed point arithmetic width
@ 2016-08-10 10:27 Dietmar Eggemann
  2016-08-10 12:28 ` Vincent Guittot
  2016-09-05 11:55 ` [tip:sched/core] " tip-bot for Dietmar Eggemann
  0 siblings, 2 replies; 3+ messages in thread
From: Dietmar Eggemann @ 2016-08-10 10:27 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, linux-kernel
  Cc: Morten Rasmussen, Vincent Guittot, Yuyang Du

Since commit 2159197d6677 ("sched/core: Enable increased load resolution
on 64-bit kernels") we now have two different fixed point units for
load.
load_above_capacity has to have 10 bit fixed point unit like PELT
whereas NICE_0_LOAD has 20 bit fixed point unit on 64-bit kernels.
Fix this by scaling down NICE_0_LOAD when multiplying
load_above_capacity with it.

Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Morten Rasmussen <morten.rasmussen@arm.com>
---
 kernel/sched/fair.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 4088eedea763..fe4093807852 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7147,7 +7147,7 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s
 		load_above_capacity = busiest->sum_nr_running * SCHED_CAPACITY_SCALE;
 		if (load_above_capacity > busiest->group_capacity) {
 			load_above_capacity -= busiest->group_capacity;
-			load_above_capacity *= NICE_0_LOAD;
+			load_above_capacity *= scale_load_down(NICE_0_LOAD);
 			load_above_capacity /= busiest->group_capacity;
 		} else
 			load_above_capacity = ~0UL;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-05 11:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-10 10:27 [PATCH] sched/fair: Fix load_above_capacity fixed point arithmetic width Dietmar Eggemann
2016-08-10 12:28 ` Vincent Guittot
2016-09-05 11:55 ` [tip:sched/core] " tip-bot for Dietmar Eggemann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.