Re: [Patch v8 1/7] sched/pelt: Add support to track thermal pressure

From: Dietmar Eggemann
Date: Mon Jan 27 2020 - 04:28:53 EST


On 24/01/2020 20:07, Thara Gopinath wrote:
> On 01/23/2020 02:15 PM, Dietmar Eggemann wrote:
>> On 16/01/2020 16:17, Peter Zijlstra wrote:
>>> On Tue, Jan 14, 2020 at 02:57:33PM -0500, Thara Gopinath wrote:

[...]

>>>> +#ifdef CONFIG_HAVE_SCHED_THERMAL_PRESSURE
>>
>> I assume your plan is to enable this for Arm and Arm64? Otherwise the
>> code in 3/7 should also be guarded by this.
>
> Yes. I think it should be enabled for arm and arm64. I can submit a
> patch after this series is accepted to enable it.
> Nevertheless , I don't understand why is patch 3/7 tied with this.
> This portion is the averaging of thermal pressure. Patch 3/7 is to store
> and retrieve the instantaneous value.

3/7 is the code which overwrites the scheduler default
arch_cpu_thermal_pressure() [include/linux/sched/topology.h]. I see it
more of the engine to drive thermal pressure tracking in the scheduler.

So all the code in 3/7 only makes sense if HAVE_SCHED_THERMAL_PRESSURE
is selected by the arch. IMHO, 3/7 and enabling it for Arm/Arm64 should
go in together.

>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
>> index e688dfad0b72..9eb414b2c8b9 100644
>> --- a/arch/arm64/Kconfig
>> +++ b/arch/arm64/Kconfig
>> @@ -164,6 +164,7 @@ config ARM64
>> select HAVE_FUNCTION_ARG_ACCESS_API
>> select HAVE_RCU_TABLE_FREE
>> select HAVE_RSEQ
>> + select HAVE_SCHED_THERMAL_PRESSURE
>> select HAVE_STACKPROTECTOR
>> select HAVE_SYSCALL_TRACEPOINTS
>>
>> Currently it lives in the 'CPU/Task time and stats accounting' of
>> .config which doesn't feel right to me.
>
> It is cpu statistics if you think about it. It is also the same .config
> where CONFIG_HAVE_SCHED_AVG_IRQ is defined.

OK, makes sense.