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?