Re: [PATCH v5 03/15] sched/core: uclamp: map TASK's clamp values into CPU's clamp groups

From: Peter Zijlstra
Date: Wed Nov 07 2018 - 09:43:12 EST


On Wed, Nov 07, 2018 at 02:19:49PM +0000, Patrick Bellasi wrote:
> On 07-Nov 13:19, Peter Zijlstra wrote:
> > On Mon, Oct 29, 2018 at 06:32:57PM +0000, Patrick Bellasi wrote:
> > > +struct uclamp_se {
> > > + unsigned int value : SCHED_CAPACITY_SHIFT + 1;
> > > + unsigned int group_id : order_base_2(UCLAMP_GROUPS);
> >
> > Are you sure about ob2() ? seems weird we'll end up with 0 for
> > UCLAMP_GROUPS==1.
>
> So, we have:
>
> #define UCLAMP_GROUPS (CONFIG_UCLAMP_GROUPS_COUNT + 1)
>
> because one clamp group is always reserved for defaults.
> Thus, ob2(in) is always called with n>=2.
>
> ... should be safe no ?

+config UCLAMP_GROUPS_COUNT
+ int "Number of different utilization clamp values supported"
+ range 0 32
+ default 5

0+1 == 1

Increase the min range and you should be good I think.