On 11-Apr 09:57, Vincent Guittot wrote:
> On 6 April 2018 at 19:28, Patrick Bellasi <patrick.bell...@arm.com> wrote:
> 
> >  }
> > @@ -5454,8 +5441,11 @@ static void dequeue_task_fair(struct rq *rq, struct 
> > task_struct *p, int flags)
> >                 update_cfs_group(se);
> >         }
> >
> > -       if (!se)
> > +       /* The task is no more visible from the root cfs_rq */
> > +       if (!se) {
> >                 sub_nr_running(rq, 1);
> > +               cpufreq_update_util(rq, 0);
> 
> call to cpufreq_update_util() should be done after util_est_dequeue()

Yeah... good point, looks like I should have notice it :)

That's another compelling example why updating schedutil as a side
effect of update_load_avg does not allow to easily track when it's the
best time to trigger an update.

UtilEst is now a factor which could impact on OPP selection for CFS
tasks, and thus we should update at the really end of the function.

> > +       }
> >
> >         util_est_dequeue(&rq->cfs, p, task_sleep);
> >         hrtick_update(rq);

-- 
#include <best/regards.h>

Patrick Bellasi

Reply via email to