Re: [PATCH v7 03/15] sched/core: uclamp: Add system default clamps

Peter Zijlstra
2019-03-18T14:29:10Z

On Mon, Mar 18, 2019 at 02:21:52PM +0000, Patrick Bellasi wrote:
> On 18-Mar 14:10, Peter Zijlstra wrote:
> > On Mon, Mar 18, 2019 at 12:18:04PM +0000, Patrick Bellasi wrote:
> > > On 13-Mar 21:18, Peter Zijlstra wrote:
> > > > On Fri, Feb 08, 2019 at 10:05:42AM +0000, Patrick Bellasi wrote:
> > > > > +static void uclamp_fork(struct task_struct *p)
> > > > > +{
> > > > > + unsigned int clamp_id;
> > > > > +
> > > > > + if (unlikely(!p->sched_class->uclamp_enabled))
> > > > > + return;
> > > > > +
> > > > > + for (clamp_id = 0; clamp_id < UCLAMP_CNT; ++clamp_id)
> > > > > + p->uclamp[clamp_id].active = false;
> > > > > +}
> > > >
> > > > Because in that case .active == false, and copy_process() will have done
> > > > thr right thing?
> > >
> > > Don't really get what you mean here? :/
> >
> > Why don't we have to set .active=false when
> > !sched_class->uclamp_enabled?
>
> Ok, got it.
>
> In principle because:
> - FAIR and RT will have uclamp_enabled
> - DL cannot fork
>
> ... thus, yes, it seems that the check above is not necessary anyway.
>
> Moreover, as per one of your comments in another message, we still need
> to cover the "reset on fork" case for FAIR and RT. Thus, I'm going to
> completely remove the support check in uclamp_fork and we always reset
> active for all classes.

Right, thanks!