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