Messages in this thread | | | From | Vincent Guittot <> | Date | Mon, 13 May 2024 10:50:21 +0200 | Subject | Re: [PATCH v2] sched: Consolidate cpufreq updates |
| |
On Sat, 11 May 2024 at 04:03, Qais Yousef <qyousef@layalina.io> wrote: > > On 05/07/24 14:53, Vincent Guittot wrote: > > > No I mean going out of idle. On an idle cpu, nothing happens at CFS > > task wakeup and we have to wait for the next tick to apply the new > > freq. This happens for both short task with uclamp min or long > > running/sleeping task (i.e. with high util_est) > > I think I found the problem, thanks for catching it!
Ok I will test it when I will be back and have access to the board
> > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index cbe79c8ac2ed..dea9383a906e 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -4714,7 +4714,7 @@ static inline void update_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s > if (se->avg.last_update_time && !(flags & SKIP_AGE_LOAD)) > __update_load_avg_se(now, cfs_rq, se); > > - cfs_rq->decayed = update_cfs_rq_load_avg(now, cfs_rq); > + cfs_rq->decayed |= update_cfs_rq_load_avg(now, cfs_rq); > cfs_rq->decayed |= propagate_entity_load_avg(se); > > if (!se->avg.last_update_time && (flags & DO_ATTACH)) {
| |