2024-04-04 10:14:00

by Lukasz Luba

[permalink] [raw]
Subject: [STABLE 5.15][PATCH] thermal: devfreq_cooling: Fix perf state when calculate dfc res_util

From: Ye Zhang <[email protected]>

The issue occurs when the devfreq cooling device uses the EM power model
and the get_real_power() callback is provided by the driver.

The EM power table is sorted ascending,can't index the table by cooling
device state,so convert cooling state to performance state by
dfc->max_state - dfc->capped_state.

Fixes: 615510fe13bd ("thermal: devfreq_cooling: remove old power model and use EM")
Cc: 5.11+ <[email protected]> # 5.11+
Signed-off-by: Ye Zhang <[email protected]>
Reviewed-by: Dhruva Gole <[email protected]>
Reviewed-by: Lukasz Luba <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
Signed-off-by: Lukasz Luba <[email protected]>
---

Hi Greg,

I have solved small backporting conflict to that v5.15.
The patch is based on tag v5.15.99 and it's for this
failing backport:
https://lore.kernel.org/stable/2024033050-imitation-unmixed-ef53@gregkh/

Regards,
Lukasz Luba



drivers/thermal/devfreq_cooling.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/devfreq_cooling.c b/drivers/thermal/devfreq_cooling.c
index d38a80adec733..5be79b5d788e5 100644
--- a/drivers/thermal/devfreq_cooling.c
+++ b/drivers/thermal/devfreq_cooling.c
@@ -199,7 +199,7 @@ static int devfreq_cooling_get_requested_power(struct thermal_cooling_device *cd

res = dfc->power_ops->get_real_power(df, power, freq, voltage);
if (!res) {
- state = dfc->capped_state;
+ state = dfc->max_state - dfc->capped_state;
dfc->res_util = dfc->em_pd->table[state].power;
dfc->res_util *= SCALE_ERROR_MITIGATION;

--
2.25.1



2024-04-05 09:33:35

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [STABLE 5.15][PATCH] thermal: devfreq_cooling: Fix perf state when calculate dfc res_util

On Thu, Apr 04, 2024 at 11:13:29AM +0100, Lukasz Luba wrote:
> From: Ye Zhang <[email protected]>
>
> The issue occurs when the devfreq cooling device uses the EM power model
> and the get_real_power() callback is provided by the driver.
>
> The EM power table is sorted ascending,can't index the table by cooling
> device state,so convert cooling state to performance state by
> dfc->max_state - dfc->capped_state.
>
> Fixes: 615510fe13bd ("thermal: devfreq_cooling: remove old power model and use EM")
> Cc: 5.11+ <[email protected]> # 5.11+
> Signed-off-by: Ye Zhang <[email protected]>
> Reviewed-by: Dhruva Gole <[email protected]>
> Reviewed-by: Lukasz Luba <[email protected]>
> Signed-off-by: Rafael J. Wysocki <[email protected]>
> Signed-off-by: Lukasz Luba <[email protected]>
> ---
>
> Hi Greg,
>
> I have solved small backporting conflict to that v5.15.
> The patch is based on tag v5.15.99 and it's for this
> failing backport:
> https://lore.kernel.org/stable/2024033050-imitation-unmixed-ef53@gregkh/

Thanks, next time all that I need is the git id of this in Linus's tree,
no need to point to a previous FAILED email.

now queued up.

greg k-h

2024-04-05 09:34:52

by Lukasz Luba

[permalink] [raw]
Subject: Re: [STABLE 5.15][PATCH] thermal: devfreq_cooling: Fix perf state when calculate dfc res_util



On 4/5/24 10:33, Greg KH wrote:
> On Thu, Apr 04, 2024 at 11:13:29AM +0100, Lukasz Luba wrote:
>> From: Ye Zhang <[email protected]>
>>
>> The issue occurs when the devfreq cooling device uses the EM power model
>> and the get_real_power() callback is provided by the driver.
>>
>> The EM power table is sorted ascending,can't index the table by cooling
>> device state,so convert cooling state to performance state by
>> dfc->max_state - dfc->capped_state.
>>
>> Fixes: 615510fe13bd ("thermal: devfreq_cooling: remove old power model and use EM")
>> Cc: 5.11+ <[email protected]> # 5.11+
>> Signed-off-by: Ye Zhang <[email protected]>
>> Reviewed-by: Dhruva Gole <[email protected]>
>> Reviewed-by: Lukasz Luba <[email protected]>
>> Signed-off-by: Rafael J. Wysocki <[email protected]>
>> Signed-off-by: Lukasz Luba <[email protected]>
>> ---
>>
>> Hi Greg,
>>
>> I have solved small backporting conflict to that v5.15.
>> The patch is based on tag v5.15.99 and it's for this
>> failing backport:
>> https://lore.kernel.org/stable/2024033050-imitation-unmixed-ef53@gregkh/
>
> Thanks, next time all that I need is the git id of this in Linus's tree,
> no need to point to a previous FAILED email.

OK, I will remember.

Regards,
Lukasz