Re: [PATCH v7 05/14] sched: Introduce a sched_feat for Energy Aware Scheduling

From: Peter Zijlstra
Date: Tue Oct 02 2018 - 08:34:31 EST


On Wed, Sep 12, 2018 at 10:13:00AM +0100, Quentin Perret wrote:
> In order to make sure Energy Aware Scheduling (EAS) doesn't hurt
> systems not using it, add a new sched_feat, called ENERGY_AWARE,
> guarding the access to EAS code paths.
>
> Signed-off-by: Quentin Perret <quentin.perret@xxxxxxx>
> ---
> kernel/sched/features.h | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/kernel/sched/features.h b/kernel/sched/features.h
> index 85ae8488039c..26ff6752e492 100644
> --- a/kernel/sched/features.h
> +++ b/kernel/sched/features.h
> @@ -90,3 +90,10 @@ SCHED_FEAT(WA_BIAS, true)
> * UtilEstimation. Use estimated CPU utilization.
> */
> SCHED_FEAT(UTIL_EST, true)
> +
> +/*
> + * Energy-Aware Scheduling. Whether or not tasks will be placed into an
> + * energy-aware fashion depends on this feature being enabled and on the
> + * root domain having an Energy Model attached.
> + */
> +SCHED_FEAT(ENERGY_AWARE, false)

So these are debug knobs.. I would expect there to be a regular
static_key that is controlled by the presence of EM data.

Remember, if you compile with SCHED_DEBUG=n, this becomes a compile time
constant: false, and the compiler gets to do lots of DCE.