Re: [PATCH V4] thermal/core/power_allocator: reset thermal governor when trip point is changed

From: Lukasz Luba
Date: Mon Jun 26 2023 - 03:45:31 EST




On 6/25/23 09:39, Di Shen wrote:
On Fri, Jun 23, 2023 at 4:10 PM Lukasz Luba <lukasz.luba@xxxxxxx> wrote:



On 6/22/23 19:27, Rafael J. Wysocki wrote:

[snip]


So there seems to be a claim that IPA is the only governor needing the
->reset() callback, but I have not seen any solid analysis confirming
that. It very well may be the case, but then the changelog should
clearly explain why this is the case IMO.

I agree, the patch header doesn't explain that properly. Here is the
explanation for this Intelligent Power Allocator (IPA):

The IPA controls temperature using PID mechanism. It's a closed
feedback loop. That algorithm can 'learn' from the 'observed'
in the past reaction for it's control decisions and accumulates that
information in the part called 'error integral'. Those accumulated
'error' gaps are the differences between the set target value and the
actually achieved value. In our case the target value is the target
temperature which is coming from the trip point. That part is then used
with the 'I' (of PID) component, so we can compensate for those
'learned' mistakes.
Now, when you change the target temperature value - all your previous
learned errors won't help you. That's why Intelligent Power Allocator
should reset previously accumulated history.


Yes, THAT's the point!
Maybe I need to write the commit message in more detail.


Yes, please extend that description.

Regards,
Lukasz