[PATCH v2 0/8] Add callback for cooling list update to speed-up IPA

From: Lukasz Luba
Date: Tue Dec 12 2023 - 08:48:03 EST


Hi all,

The patch set a new callback for thermal governors and implementation for
Intelligent Power Allocator.

The goal is to move some heavy operarions like the memory allocations and heavy
computations (multiplications) out of throttle() callback hot path.

The new callback is generic enough to handle other imporants update events.
It re-uses existing thermal_notify_event definitions.

In addition there are some small clean-ups for IPA code.

changes:
v2:
- change callback name to update_tz() and add parameter (Rafael)
- added new event to trigger this callback - instance 'weight' update

Regards,
Lukasz

Lukasz Luba (8):
thermal: core: Add governor callback for thermal zone change
thermal: gov_power_allocator: Refactor check_power_actors()
thermal: gov_power_allocator: Move memory allocation out of throttle()
thermal: gov_power_allocator: Simplify checks for valid power actor
thermal: gov_power_allocator: Refactor checks in divvy_up_power()
thermal/sysfs: Update instance->weight under tz lock
thermal/sysfs: Update governors when the 'weight' has changed
thermal: gov_power_allocator: Support new update callback of weights

drivers/thermal/gov_power_allocator.c | 216 ++++++++++++++++++--------
drivers/thermal/thermal_core.c | 13 ++
drivers/thermal/thermal_sysfs.c | 15 ++
include/linux/thermal.h | 6 +
4 files changed, 182 insertions(+), 68 deletions(-)

--
2.25.1