Re: [Patch v6 4/7] sched/fair: Enable periodic update of average thermal pressure

From: Dietmar Eggemann
Date: Tue Dec 17 2019 - 07:57:41 EST


On 16/12/2019 18:59, Quentin Perret wrote:
> On Monday 16 Dec 2019 at 15:39:32 (+0100), Peter Zijlstra wrote:
>>> @@ -10274,6 +10281,7 @@ static void task_tick_fair(struct rq *rq, struct task_struct *curr, int queued)
>>>
>>> update_misfit_status(curr, rq);
>>> update_overutilized_status(task_rq(curr));
>>> + update_thermal_load_avg(rq_clock_task(rq), rq, thermal_pressure);
>>> }
>>
>> My objection here is that when the arch does not have support for it,
>> there is still code generated and runtime overhead associated with it.
>
> I guess this function could be stubbed for CONFIG_CPU_THERMAL=n ?
> That is, reflecting the thermal pressure in the scheduler only makes
> sense when the thermal infrastructure is enabled to begin with (which is
> indeed not the case for most archs).

Makes sense to me. If we can agree that 'CPU cooling' is the only actor
for thermal (CPU capacity) capping.

thermal_sys-$(CONFIG_CPU_THERMAL) += cpu_cooling.o