From 9ddb16a65949c280fc7e6110466f6a8565d34747 Mon Sep 17 00:00:00 2001 From: Gabriele Ara Date: Tue, 25 Oct 2022 11:01:21 +0000 Subject: [PATCH 1/2] Disable runtime frequency scaling in dl tasks --- kernel/sched/deadline.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 2bda9fdba31c..69f8ce39ea77 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -1222,17 +1222,7 @@ static void update_curr_dl(struct rq *rq) * For the others, we still need to scale reservation parameters * according to current frequency and CPU maximum capacity. */ - if (unlikely(dl_se->flags & SCHED_FLAG_RECLAIM)) { - scaled_delta_exec = grub_reclaim(delta_exec, - rq, - &curr->dl); - } else { - unsigned long scale_freq = arch_scale_freq_capacity(cpu); - unsigned long scale_cpu = arch_scale_cpu_capacity(cpu); - - scaled_delta_exec = cap_scale(delta_exec, scale_freq); - scaled_delta_exec = cap_scale(scaled_delta_exec, scale_cpu); - } + scaled_delta_exec = delta_exec; dl_se->runtime -= scaled_delta_exec; @@ -2435,8 +2425,7 @@ static void prio_changed_dl(struct rq *rq, struct task_struct *p, } const struct sched_class dl_sched_class = { - .next = &rt_sched_class, + .next = &fair_sched_class, .enqueue_task = enqueue_task_dl, .dequeue_task = dequeue_task_dl, .yield_task = yield_task_dl, -- 2.25.1