Re: [PATCH] sched/fair: schedutil: update only with all info available
From: Patrick Bellasi
Date: Wed Apr 11 2018 - 05:28:08 EST
On 11-Apr 09:57, Vincent Guittot wrote:
> On 6 April 2018 at 19:28, Patrick Bellasi <patrick.bellasi@xxxxxxx> 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