Re: [PATCH v10 02/15] sched/cpufreq: Prepare schedutil for Energy Aware Scheduling

From: Quentin Perret
Date: Tue Dec 11 2018 - 07:17:54 EST


Hi Rafael,

On Tuesday 11 Dec 2018 at 13:01:24 (+0100), Rafael J. Wysocki wrote:
> On Mon, Dec 3, 2018 at 10:56 AM Quentin Perret <quentin.perret@xxxxxxx> wrote:
>
> [cut]
>
> > #ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL
> > +/**
> > + * enum schedutil_type - CPU utilization type
> > + * @FREQUENCY_UTIL: Utilization used to select frequency
> > + * @ENERGY_UTIL: Utilization used during energy calculation
> > + *
> > + * The utilization signals of all scheduling classes (CFS/RT/DL) and IRQ time
> > + * need to be aggregated differently depending on the usage made of them. This
> > + * enum is used within schedutil_freq_util() to differentiate the types of
> > + * utilization expected by the callers, and adjust the aggregation accordingly.
> > + */
> > +enum schedutil_type {
> > + FREQUENCY_UTIL,
> > + ENERGY_UTIL,
> > +};
>
> Why not to use bool instead of this? Do you expect to have more than
> just two values in the future? If so, what would be the third one?

Indeed, the only reason is that an enum is easier to extend, if need be.
I think you mentioned some time ago that CPUIdle could be, in principle,
interested in having access to aggregated utilization signals of CPUs:

https://lore.kernel.org/lkml/CAJZ5v0j=EYnANGAj9bd44eeux1eCfeMtdn9npe5pSAzE8EVKaA@xxxxxxxxxxxxxx/

So yeah, I kept Peter's original enum and went for documenting the type,
as you suggested on v7 :-)

Thanks,
Quentin