Messages in this thread | | | Date | Tue, 23 May 2017 21:04:51 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH RFC 4/8] sched/cpufreq_schedutil: split utilization signals |
| |
On Tue, May 23, 2017 at 09:53:47AM +0100, Juri Lelli wrote: > @@ -157,14 +158,13 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy, > return cpufreq_driver_resolve_freq(policy, freq); > } > > -static void sugov_get_util(unsigned long *util, unsigned long *max) > +static void sugov_get_util(struct sugov_cpu *sg_cpu) > { > struct rq *rq = this_rq(); > - unsigned long dl_util = (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> 20; > > - *max = arch_scale_cpu_capacity(NULL, smp_processor_id()); > - > - *util = min(rq->cfs.avg.util_avg + dl_util, *max); > + sg_cpu->max = arch_scale_cpu_capacity(NULL, smp_processor_id()); > + sg_cpu->util_cfs = rq->cfs.avg.util_avg; > + sg_cpu->util_dl = (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> 20; > }
Luca just introduced a nice BW_SHIFT for that '20' thing.
| |