lkml.org 
[lkml]   [2020]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: [PATCH v2 2/3] sched: Cleanup SCHED_THERMAL_PRESSURE kconfig entry
From
Date
On 27/07/2020 16:18, Qian Cai wrote:
> 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@shell.armlinux.org.uk
>>
>> Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
>> ---
>> 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]

Not sure, but:

(1) do we wan to let people enable SCHED_THERMAL_PRESSURE for arm64 so
arm64 can potentially run w/o a CPU freq cooling device?

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 2d4abbc9f8d0..baffe8b66da2 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -192,7 +192,6 @@ config ARM64
select PCI_SYSCALL if PCI
select POWER_RESET
select POWER_SUPPLY
- select SCHED_THERMAL_PRESSURE
select SPARSE_IRQ
select SWIOTLB
select SYSCTL_EXCEPTION_TRACE
diff --git a/init/Kconfig b/init/Kconfig
index 37b089f87804..8b36e07fb230 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -492,7 +492,7 @@ config HAVE_SCHED_AVG_IRQ
depends on SMP

config SCHED_THERMAL_PRESSURE
- bool
+ bool "Thermal pressure accounting"
depends on SMP
depends on CPU_FREQ_THERMAL
help
Or

(2) should SCHED_THERMAL_PRESSURE for arm64 be enabled by default?

But then it makes no sense to allow the removal of CONFIG_CPU_FREQ_THERMAL.

linux-next/master$ make ARCH=arm64 defconfig

// Remove CONFIG_CPU_FREQ_THERMAL
linux-next/master$ grep CPU_FREQ_THERMAL .config
# CONFIG_CPU_FREQ_THERMAL is not set

linux-next/master$ make
scripts/kconfig/conf --syncconfig Kconfig

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

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

WARNING: unmet direct dependencies detected for SCHED_THERMAL_PRESSURE
Depends on [n]: SMP [=y] && CPU_FREQ_THERMAL [=n]
Selected by [y]:
- ARM64 [=y]
HOSTCC scripts/dtc/dtc.o

---
There is a similar issue with arm.

I would prefer for (1).

\
 
 \ /
  Last update: 2020-07-27 19:47    [W:0.084 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site