On 19-11-18, 14:18, Quentin Perret wrote:
> @@ -223,20 +222,33 @@ static unsigned long sugov_get_util(struct sugov_cpu 
> *sg_cpu)

> -     if ((util + cpu_util_dl(rq)) >= max)
> -             return max;
> +     if (type == FREQUENCY_UTIL) {
> +             /*
> +              * For frequency selection we do not make cpu_util_dl() a
> +              * permanent part of this sum because we want to use
> +              * cpu_bw_dl() later on, but we need to check if the
> +              * CFS+RT+DL sum is saturated (ie. no idle time) such
> +              * that we select f_max when there is no idle time.
> +              *
> +              * NOTE: numerical errors or stop class might cause us
> +              * to not quite hit saturation when we should --
> +              * something for later.
> +              */
> +
> +             if ((util + cpu_util_dl(rq)) >= max)
> +                     return max;
> +     } else {
> +             /*
> +              * OTOH, for energy computation we need the estimated
> +              * running time, so include util_dl and ignore dl_bw.
> +              */
> +             util += cpu_util_dl(rq);
> +             if (util >= max)
> +                     return max;
> +     }

Maybe write above as:

        dl_util = cpu_util_dl(rq);

        if ((util + dl_util) >= max)
                return max;

        if (type != FREQUENCY_UTIL)
                util += dl_util;


as both the if/else parts were doing almost the same thing.

-- 
viresh

Reply via email to