Re: [PATCH v2 2/3] sched: Cleanup SCHED_THERMAL_PRESSURE kconfig entry

From: Qian Cai
Date: Mon Jul 27 2020 - 10:32:36 EST


On Sun, Jul 12, 2020 at 05:59:16PM +0100, Valentin Schneider wrote:
> As Russell pointed out [1], this option is severely lacking in the
> documentation department, and figuring out if one has the required
> dependencies to benefit from turning it on is not straightforward.
>
> Make it non user-visible, and add a bit of help to it. While at it, make it
> depend on CPU_FREQ_THERMAL.
>
> [1]: https://lkml.kernel.org/r/20200603173150.GB1551@xxxxxxxxxxxxxxxxxxxxx
>
> Signed-off-by: Valentin Schneider <valentin.schneider@xxxxxxx>
> ---
> init/Kconfig | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 0498af567f70..0a97d85568b2 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -492,8 +492,21 @@ config HAVE_SCHED_AVG_IRQ
> depends on SMP
>
> config SCHED_THERMAL_PRESSURE
> - bool "Enable periodic averaging of thermal pressure"
> + bool
> depends on SMP
> + depends on CPU_FREQ_THERMAL
> + help
> + Select this option to enable thermal pressure accounting in the
> + scheduler. Thermal pressure is the value conveyed to the scheduler
> + that reflects the reduction in CPU compute capacity resulted from
> + thermal throttling. Thermal throttling occurs when the performance of
> + a CPU is capped due to high operating temperatures.
> +
> + If selected, the scheduler will be able to balance tasks accordingly,
> + i.e. put less load on throttled CPUs than on non/less throttled ones.
> +
> + This requires the architecture to implement
> + arch_set_thermal_pressure() and arch_get_thermal_pressure().
>
> config BSD_PROCESS_ACCT
> bool "BSD Process Accounting"
> --

On arm64 linux-next (20200727),

https://gitlab.com/cailca/linux-mm/-/blob/master/arm64.config

WARNING: unmet direct dependencies detected for SCHED_THERMAL_PRESSURE
Depends on [n]: SMP [=y] && CPU_FREQ_THERMAL [=n]
Selected by [y]:
- ARM64 [=y]