Re: [PATCH v7 02/15] sched/core: uclamp: Enforce last task UCLAMP_MAX

From: Patrick Bellasi
Date: Wed Mar 13 2019 - 14:30:07 EST


On 13-Mar 18:29, Peter Zijlstra wrote:
> On Wed, Mar 13, 2019 at 04:20:51PM +0000, Patrick Bellasi wrote:
> > On 13-Mar 15:10, Peter Zijlstra wrote:
> > > On Fri, Feb 08, 2019 at 10:05:41AM +0000, Patrick Bellasi wrote:
> > > > +uclamp_idle_value(struct rq *rq, unsigned int clamp_id, unsigned int clamp_value)
> > > > +{
> > > > + /*
> > > > + * Avoid blocked utilization pushing up the frequency when we go
> > > > + * idle (which drops the max-clamp) by retaining the last known
> > > > + * max-clamp.
> > > > + */
> > > > + if (clamp_id == UCLAMP_MAX) {
> > > > + rq->uclamp_flags |= UCLAMP_FLAG_IDLE;
> > > > + return clamp_value;
> > > > + }
> > > > +
> > > > + return uclamp_none(UCLAMP_MIN);
> > >
> > > That's a very complicated way or writing: return 0, right?
> >
> > In my mind it's just a simple way to hardcode values in just one place.
> >
> > In the current implementation uclamp_none(UCLAMP_MIN) is 0 and the
> > compiler is not in trubles to inline a 0 there.
> >
> > Is it really so disgusting ?
>
> Not disguisting per se, just complicated. It had me go back and check
> wth uclamp_none() did again.

Yes, I see... every time I read it I just consider that uclamp_none()
it's just returning whatever is (or will be) the "non clamped" value
for the specified clamp index.

If it's ok with you, I would keep the code above as it is now.

--
#include <best/regards.h>

Patrick Bellasi