Re: [RFC PATCH v1 4/8] sched/cpufreq_schedutil: split utilization signals

From: Joel Fernandes
Date: Mon Jul 10 2017 - 03:46:58 EST


On Fri, Jul 7, 2017 at 3:59 AM, Juri Lelli <juri.lelli@xxxxxxx> wrote:
[..]
>
>> If yes, then I don't think it was about having separate APIs, but just storing
>> util_cfs/dl separately.
>>
>> > -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)
>> > - >> BW_SHIFT;
>> >
>> > - *max = arch_scale_cpu_capacity(NULL, smp_processor_id());
>> > + 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)
>> > + >> BW_SHIFT;
>> > +}
>> >
>> > +static unsigned long sugov_aggregate_util(struct sugov_cpu *sg_cpu)
>>
>> As Joel already mentioned, I don't think we should create two separate routines
>> here.
>>
>
> Mmm, it makes retrieving of utilization in sugov_update_shared and
> aggregating values for the domain in sugov_next_freq_shared cleaner,
> IMHO.
>

I agree, thanks.

-Joel