summaryrefslogtreecommitdiff
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 839925a3da7e..263c15b0312e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1941,9 +1941,10 @@ static inline u64 scale_exec_time(u64 delta, struct rq *rq)
{
int cpu = cpu_of(rq);
int sf;
+ u32 freq;
- delta = DIV64_U64_ROUNDUP(delta * rq->cc.cycles,
- max_possible_freq * rq->cc.time);
+ freq = cpu_cycles_to_freq(rq->cc.cycles, rq->cc.time);
+ delta = DIV64_U64_ROUNDUP(delta * freq, max_possible_freq);
sf = DIV_ROUND_UP(cpu_efficiency(cpu) * 1024, max_possible_efficiency);
delta *= sf;