On 10/10/2018 01:57 AM, Javi Merino wrote: > On Tue, Oct 09, 2018 at 12:25:01PM -0400, Thara Gopinath wrote: >> cpu_capacity relflects the maximum available capacity of a cpu. Thermal >> pressure on a cpu means this maximum available capacity is reduced. This >> patch reduces the average thermal pressure for a cpu from its maximum >> available capacity so that cpu_capacity reflects the actual >> available capacity. >> >> Signed-off-by: Thara Gopinath <thara.gopin...@linaro.org> >> --- >> kernel/sched/fair.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c >> index 7deb1d0..8651e55 100644 >> --- a/kernel/sched/fair.c >> +++ b/kernel/sched/fair.c >> @@ -7497,6 +7497,7 @@ static unsigned long scale_rt_capacity(int cpu) >> >> used = READ_ONCE(rq->avg_rt.util_avg); >> used += READ_ONCE(rq->avg_dl.util_avg); >> + used += READ_ONCE(rq->avg_thermal.load_avg); > > IIUIC, you are treating thermal pressure as an artificial load on the > cpu. If so, this sounds like a hard to maintain hack. Thermal > pressure have different characteristics to utilization. What happens > if thermal sets the cpu cooling state back to 0 because there is > thermal headroom again? Do we keep adding this artificial load to the > cpu just because there was thermal pressure in the past and let it > decay as if it was cpu load?
Setting cpu cooling state back to 0 will decay the thermal pressure back to 0 ? Yes, cpu will not register an instantaneous drop in the cap, it will be decayed down following the PELT signals. > > Cheers, > Javi > -- Regards Thara