Re: [PATCH v6 09/16] sched/cpufreq: uclamp: Add utilization clamping for RT tasks

From: Peter Zijlstra
Date: Wed Jan 23 2019 - 05:28:36 EST


On Tue, Jan 15, 2019 at 10:15:06AM +0000, Patrick Bellasi wrote:
> - util = (type == ENERGY_UTIL)
> - ? util_cfs
> - : uclamp_util(rq, util_cfs);
> - util += cpu_util_rt(rq);
> + util = cpu_util_rt(rq);
> + if (type == FREQUENCY_UTIL) {
> + util += cpu_util_cfs(rq);
> + util = uclamp_util(rq, util);
> + } else {
> + util += util_cfs;
> + }

Or the combined thing:

- util = util_cfs;
- util += cpu_util_rt(rq);
+ util = cpu_util_rt(rq);
+ if (type == FREQUENCY_UTIL) {
+ util += cpu_util_cfs(rq);
+ util = uclamp_util(rq, util);
+ } else {
+ util += util_cfs;
+ }


Leaves me confused.

When type == FREQ, util_cfs should already be cpu_util_cfs(), per
sugov_get_util().

So should that not end up like:

util = util_cfs;
util += cpu_util_rt(rq);
+ if (type == FREQUENCY_UTIL)
+ util = uclamp_util(rq, util);

instead?