On Thursday 02 Aug 2018 at 14:26:29 (+0200), Peter Zijlstra wrote:
> On Tue, Jul 24, 2018 at 01:25:16PM +0100, Quentin Perret wrote:
> > @@ -5100,8 +5118,17 @@ enqueue_task_fair(struct rq *rq, struct task_struct 
> > *p, int flags)
> >             update_cfs_group(se);
> >     }
> >  
> > -   if (!se)
> > +   if (!se) {
> >             add_nr_running(rq, 1);
> > +           /*
> > +            * The utilization of a new task is 'wrong' so wait for it
> > +            * to build some utilization history before trying to detect
> > +            * the overutilized flag.
> > +            */
> > +           if (flags & ENQUEUE_WAKEUP)
> > +                   update_overutilized_status(rq);
> > +
> > +   }
> >  
> >     hrtick_update(rq);
> >  }
> 
> That is a somewhat dodgy hack. There is no guarantee what so ever that
> when the task wakes next its history is any better. The comment doesn't
> reflect this I feel.

AFAICT the main use-case here is to avoid re-enabling the load balance
and ruining all the task placement because of a tiny task. I don't
really see how we can do that differently ...

Or am I missing something Morten ?

In the meantime, I can try to improve the comment at least :-)

Thanks,
Quentin

Reply via email to