lkml.org 
[lkml]   [2020]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v3 0/5] Thermal devfreq cooling improvements with Energy Model
Date
Hi Daniel,

On 12/9/20 10:30 AM, Lukasz Luba wrote:
> Hi all,
>
> This patch set is a continuation of my previous work, which aimed
> to add Energy Model to all devices [1]. This series is a follow up
> for the patches which got merged to v5.9-rc1. It aims to change
> the thermal devfreq cooling and use the Energy Model instead of
> private power table and structures. The power model is now simplified,
> static power and dynamic power are removed. The new registration interface
> in the patch 3/5 helps to register devfreq cooling and the EM in one call.
> There is also small improvement, patch 2/5 is changing the way how
> thermal gets the device status (now uses a copy) and normalize the values.
> The last patch is here for consistency and will probably go through drm tree.
>
> The patch set is based on current next-20201208, because it depends on EM
> API change which is queued in the pm/linux-next tree as v5.11 material.
>
> changes:
> v3:
> - dropped direct check of device status and used just a copy of 'status';
> a separate patch set will be proposed to address this issue
> - modified _normalize_load() and used 1024 scale to handle ms, us, ns
> - removed 'em_registered' and called em_dev_unregister_perf_domain()
> unconditionally, so the drivers will have to make sure the right order of
> all unregister calls to frameworks which might use EM; this call must be last
> one; a proper comment added
> - removed 'em' pointer from struct devfreq_cooling_device, 'dev->em_pd' is used
> - removed of_node_get/put(), since the code can handle it
> - removed dfc_em_get_requested_power() (as missed to do it in v2)
> - collected all Reviewed-by tags
> v2 [3]:
> - renamed freq_get_state() and related to perf_idx pattern as
> suggested by Ionela
> v1 [2]
>
> Regards,
> Lukasz Luba
>
> [1] https://lkml.org/lkml/2020/5/11/326
> [2] https://lore.kernel.org/linux-pm/20200921122007.29610-1-lukasz.luba@arm.com/
> [3] https://lore.kernel.org/linux-pm/20201118120358.17150-1-lukasz.luba@arm.com/
>
> Lukasz Luba (5):
> thermal: devfreq_cooling: change tracing function and arguments
> thermal: devfreq_cooling: use a copy of device status
> thermal: devfreq_cooling: add new registration functions with Energy
> Model
> thermal: devfreq_cooling: remove old power model and use EM
> drm/panfrost: Register devfreq cooling and attempt to add Energy Model
>
> drivers/gpu/drm/panfrost/panfrost_devfreq.c | 2 +-
> drivers/thermal/devfreq_cooling.c | 420 ++++++++++----------
> include/linux/devfreq_cooling.h | 40 +-
> include/trace/events/thermal.h | 19 +-
> 4 files changed, 240 insertions(+), 241 deletions(-)
>

If you consider to take it, please don't. I am going to send a v4 which
does not have this em_dev_register_perf_domain() dependency due to API
change. Then it could go via your thermal tree without issues.

It will be a small change in the patch 3/5, which will simplify
registration function (use only dev_pm_opp_of_register_em()) and also
instead of two registration function, have only one (which was also
suggested by Ionela during review).

Regards,
Lukasz

\
 
 \ /
  Last update: 2020-12-10 14:25    [W:0.045 / U:0.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site