Re: [PATCH] thermal: power allocator: Add control for non-power actor devices

From: Lukasz Luba
Date: Mon Jan 18 2021 - 12:17:12 EST




On 1/18/21 4:07 PM, Daniel Lezcano wrote:
On 05/01/2021 20:01, Lukasz Luba wrote:
The cooling devices which are used in IPA should provide power mapping
functions. The callback functions are used for power estimation and state
setting. When these functions are missing IPA ignores such cooling devices
and does not limit their performance. It could happen that the platform
configuration is missing these functions in example when the Energy Model
was not setup properly (missing DT entry 'dynamic-power-coefficient').

The patch adds basic control over these devices' performance. It
manages to throttle them to stay safe and not overheat. It also adds a
warning during the binding phase, so it can be captured during testing.

The patch covers also a corner case when all of the cooling devices are
non-power actors.

In my opinion this is a user space problem. If a device does not have
power information, then it should use the step-wise governor instead.

It is not the power allocator to overcome a wrong or unsupported setup.

Usually, the default governor is the step-wise and the userspace sets
the power allocator policy.

True, but currently there is even no warning to the user, that some
device (quite big, like GPU) is not controlled. This could be dangerous.


A solution can be to fail to change the policy or bind if the associated
cooling devices are not all power actors.

I tend to agree, we can simply 'fail' during the binding and print
some warning.

The code in that case would be much simpler. Let me send a v2 then.
Thank you for your comments.

Regards,
Lukasz