On 07-Nov 15:37, Peter Zijlstra wrote:
> On Mon, Oct 29, 2018 at 06:32:57PM +0000, Patrick Bellasi wrote:
> > +static int __setscheduler_uclamp(struct task_struct *p,
> > +                            const struct sched_attr *attr)
> > +{
> > +   unsigned int lower_bound = p->uclamp[UCLAMP_MIN].value;
> > +   unsigned int upper_bound = p->uclamp[UCLAMP_MAX].value;
> > +   int result = 0;
> > +
> > +   if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN)
> > +           lower_bound = attr->sched_util_min;
> > +
> > +   if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX)
> > +           upper_bound = attr->sched_util_max;
> > +
> > +   if (lower_bound > upper_bound ||
> > +       upper_bound > SCHED_CAPACITY_SCALE)
> >             return -EINVAL;
> >  
> > +   mutex_lock(&uclamp_mutex);
> >  
> > +   /* Update each required clamp group */
> > +   if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN) {
> > +           uclamp_group_get(&p->uclamp[UCLAMP_MIN],
> > +                            UCLAMP_MIN, lower_bound);
> > +   }
> > +   if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX) {
> > +           uclamp_group_get(&p->uclamp[UCLAMP_MAX],
> > +                            UCLAMP_MAX, upper_bound);
> > +   }
> > +
> > +   mutex_unlock(&uclamp_mutex);
> > +
> > +   return result;
> > +}
> 
> I'm missing where we error due to lack of groups.

Again, after:

   sched/core: uclamp: add clamp group bucketing support

we should never error.

Perhaps I should really squash the bucketing in these first patches
directly... lemme see what's your take on those bits, if you like them
better not in a separate patch, I'll squash them on v6.

-- 
#include <best/regards.h>

Patrick Bellasi

Reply via email to