Messages in this thread Patch in this message | | | From | Valentin Schneider <> | Subject | Re: v5.7: new core kernel option missing help text | Date | Thu, 04 Jun 2020 16:38:40 +0100 |
| |
On 04/06/20 14:05, Thara Gopinath wrote: > On Thu, 4 Jun 2020 at 06:56, Valentin Schneider <valentin.schneider@arm.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:
--- 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
| |