[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2d17fa1e-d925-5ed7-2761-bd3a8c18a14a@linaro.org>
Date: Thu, 4 Jun 2020 18:22:35 -0400
From: Thara Gopinath <thara.gopinath@...aro.org>
To: Valentin Schneider <valentin.schneider@....com>
Cc: Russell King - ARM Linux admin <linux@...linux.org.uk>,
Vincent Guittot <vincent.guittot@...aro.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: v5.7: new core kernel option missing help text
On 6/4/20 11:38 AM, Valentin Schneider wrote:
>
> On 04/06/20 14:05, Thara Gopinath wrote:
>> On Thu, 4 Jun 2020 at 06:56, Valentin Schneider <valentin.schneider@....com>
>>>
>>> Right, s/defconfig/arch kconfig/ or somesuch.
>>>
>>
>> CPU_FREQ_THERMAL also has to be enabled for this to be effective.
>> Since arm64 defconfig enables CPU_FREQ_THERMAL (by enabling CPU_THERMAL),
>> it should be ok to enable it in arm64/Kconfig. (same with arm/Kconfig)
>>
>> Another option is to select the SCHED_THERMAL_PRESSURE when
>> CPU_FREQ_THERMAL
>> is enabled in drivers/thermal/Kconfig.
>>
>
> So interestingly while arch_set_thermal_pressure() (which just writes to a
> pcpu variable) is defined in sched/core.c, arch_scale_thermal_pressure()
> (which just returns aforementionned pcpu variable) is defined in
> arch_topology...
>
> I'm thinking at this point we might as well turn the
> arch_scale_thermal_pressure() stub into what arch_topology does. This would
> effectively let any architecture use thermal pressure, providing they use
> cpufreq cooling.
>
> If we want to keep changes contained to Kconfigs, for now I think the
> safest would be:
Thanks Valentin. This looks good to me for now. Although, I want to
state that the thermal pressure can be set by some other entity other
than cpufreq cooling as well. But currently only cpufreq cooling handles
it. So for now the below looks good.
>
> ---
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 16fbf74030fe..1e92080dc275 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -46,6 +46,7 @@ config ARM
> select EDAC_ATOMIC_SCRUB
> select GENERIC_ALLOCATOR
> select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
> + select SCHED_THERMAL_PRESSURE if GENERIC_ARCH_TOPOLOGY
> select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
> select GENERIC_CLOCKEVENTS_BROADCAST if SMP
> select GENERIC_CPU_AUTOPROBE
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 552d36cacc05..cc1944fbae51 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -98,6 +98,7 @@ config ARM64
> select FRAME_POINTER
> select GENERIC_ALLOCATOR
> select GENERIC_ARCH_TOPOLOGY
> + select SCHED_THERMAL_PRESSURE
> select GENERIC_CLOCKEVENTS
> select GENERIC_CLOCKEVENTS_BROADCAST
> select GENERIC_CPU_AUTOPROBE
> diff --git a/init/Kconfig b/init/Kconfig
> index 74a5ac65644f..ba846f6e805b 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -439,8 +439,11 @@ config HAVE_SCHED_AVG_IRQ
> depends on SMP
>
> config SCHED_THERMAL_PRESSURE
> - bool "Enable periodic averaging of thermal pressure"
> + def_bool n
> depends on SMP
> + depends on CPU_FREQ_THERMAL
> + help
> + <helpful thing here>
>
> config BSD_PROCESS_ACCT
> bool "BSD Process Accounting"
> ---
>
>
>
>> Warm Regards
>> Thara
--
Warm Regards
Thara
Powered by blists - more mailing lists