mbox series

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

Message ID 20231212134844.1213381-1-lukasz.luba@arm.com
Headers show
Series Add callback for cooling list update to speed-up IPA | expand

Message

Lukasz Luba Dec. 12, 2023, 1:48 p.m. UTC
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(-)

Comments

Lukasz Luba Dec. 20, 2023, 12:54 p.m. UTC | #1
Hi Daniel, Rafael,

On 12/12/23 13:48, Lukasz Luba wrote:
> 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(-)
> 

I know it's a bit late in time period...
You probably missed that patch set in your mailbox.
This patch set can probably just wait to the next window, or
should I resend it later in 2024?

Regards,
Lukasz
Rafael J. Wysocki Dec. 20, 2023, 1:37 p.m. UTC | #2
On Wed, Dec 20, 2023 at 1:53 PM Lukasz Luba <lukasz.luba@arm.com> wrote:
>
> Hi Daniel, Rafael,
>
> On 12/12/23 13:48, Lukasz Luba wrote:
> > 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(-)
> >
>
> I know it's a bit late in time period...
> You probably missed that patch set in your mailbox.
> This patch set can probably just wait to the next window, or
> should I resend it later in 2024?

Not really, I was about to comment one the first patch.

I'll do that shortly.
Lukasz Luba Dec. 20, 2023, 4:25 p.m. UTC | #3
On 12/20/23 13:37, Rafael J. Wysocki wrote:
> On Wed, Dec 20, 2023 at 1:53 PM Lukasz Luba <lukasz.luba@arm.com> wrote:
>>
>> Hi Daniel, Rafael,
>>
>> On 12/12/23 13:48, Lukasz Luba wrote:
>>> 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(-)
>>>
>>
>> I know it's a bit late in time period...
>> You probably missed that patch set in your mailbox.
>> This patch set can probably just wait to the next window, or
>> should I resend it later in 2024?
> 
> Not really, I was about to comment one the first patch.
> 
> I'll do that shortly.
> 

Thank you for the comments. I'll send a v3 with changes.