lkml.org 
[lkml]   [2018]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v4 02/16] sched/core: uclamp: map TASK's clamp values into CPU's clamp groups
    On 13-Sep 21:20, Peter Zijlstra wrote:
    > On Wed, Sep 12, 2018 at 06:42:09PM +0100, Patrick Bellasi wrote:
    > > On 12-Sep 18:24, Peter Zijlstra wrote:
    > > > On Tue, Aug 28, 2018 at 02:53:10PM +0100, Patrick Bellasi wrote:
    >
    > > > > {
    > > > > + int group_id[UCLAMP_CNT] = { UCLAMP_NOT_VALID };
    > > > > + int lower_bound, upper_bound;
    > > > > + struct uclamp_se *uc_se;
    > > > > + int result = 0;
    > > >
    > > > I think the thing would become much more readable if you set
    > > > lower/upper_bound right here.
    >
    > > Actually it could also make sense to have them before the mutex ;)
    >
    > Indeed.
    >
    > + upper_bound = (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX)
    > + ? attr->sched_util_max
    > + : p->uclamp[UCLAMP_MAX].value;
    > +
    > + if (upper_bound == UCLAMP_NOT_VALID)
    > + upper_bound = SCHED_CAPACITY_SCALE;
    > + if (attr->sched_util_min > upper_bound) {
    > + result = -EINVAL;
    > + goto done;
    > + }
    > +
    > + result = uclamp_group_find(UCLAMP_MIN, attr->sched_util_min);
    > + if (result == -ENOSPC) {
    > + pr_err(UCLAMP_ENOSPC_FMT, "MIN");
    > + goto done;
    > + }
    > + group_id[UCLAMP_MIN] = result;
    > + }
    > + if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX) {
    > + lower_bound = (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN)
    > + ? attr->sched_util_min
    > + : p->uclamp[UCLAMP_MIN].value;
    > +
    > + if (lower_bound == UCLAMP_NOT_VALID)
    > + lower_bound = 0;
    > + if (attr->sched_util_max < lower_bound ||
    > + attr->sched_util_max > SCHED_CAPACITY_SCALE) {
    > + result = -EINVAL;
    > + goto done;
    > + }
    >
    > That would end up soething like:
    >
    > unsigned int lower_bound = p->uclamp[UCLAMP_MIN].value;
    > unsigned int upper_bound = p->uclamp[UCLAMP_MAX].value;
    >
    > if (sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN)
    > lower_bound = attr->sched_util_min;
    >
    > if (sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX)
    > upper_bound = attr->sched_util_max;
    >
    > if (lower_bound > upper_bound ||
    > upper_bound > SCHED_CAPACITY_MAX)
    > return -EINVAL;
    >
    > mutex_lock(...);

    Yes... much cleaner, thanks.

    --
    #include <best/regards.h>

    Patrick Bellasi

    \
     
     \ /
      Last update: 2018-09-14 10:48    [W:3.104 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site