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.
A solution can be to fail to change the policy or bind if the associated
cooling devices are not all power actors.