[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241029094452.495439-1-lukasz.luba@arm.com>
Date: Tue, 29 Oct 2024 09:43:28 +0000
From: Lukasz Luba <lukasz.luba@....com>
To: linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org
Cc: lukasz.luba@....com,
dietmar.eggemann@....com,
rafael@...nel.org
Subject: [PATCH v2 0/1] Update Energy Model with performance limits
Hi all,
This patch set allows to specify in the EM the range of performance levels that
the device is allowed to operate. It will impact EAS decision, especially for
SoCs where CPUs share the voltage & frequency domain with other CPUs or devices
e.g.
- Mid CPUs + Big CPU
- Little CPU + L3 cache in DSU
- some other device + Little CPUs
The minimum allowed frequency will be taken into account while doing EAS task
placement simulation. When the min frequency is higher for the whole domain
and not driven by the CPUs in that PD utilization, than the energy for
computation in that PD will be higher. This patch helps to reflect that higher
cost.
More explanation can be found in my presentation at OSPM2023 [1].
I have shown experiments with Big CPU running high frequency and increasing
the L3 cache frequency (to reduce the latency), but that impacted Little
CPU which are in the same DVFS domain with L3 cache. It had bad impact for
total energy consumed by small tasks placed on Little CPU. The EAS was not
aware about the min frequency&voltage of the Little CPUs and energy estimation
was wrong.
Changelog:
v2:
- added mutex to guard simultaneous updates and make them atomic (Hongyan)
- added Doxygen two new arguments description (Dietmar)
- changed patch header description (Dietmar) and added an example
- dropped the SCMI patch for now, since the notifications are not merged there yet
v1 [2]:
- basic implementation
Regards,
Lukasz Luba
[1] https://www.youtube.com/watch?v=2C-5uikSbtM&list=PL0fKordpLTjKsBOUcZqnzlHShri4YBL1H
[2] https://lore.kernel.org/lkml/20240403162315.1458337-1-lukasz.luba@arm.com/
Lukasz Luba (1):
PM: EM: Add min/max available performance state limits
include/linux/energy_model.h | 24 ++++++++++++++---
kernel/power/energy_model.c | 52 ++++++++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+), 4 deletions(-)
--
2.46.0
Powered by blists - more mailing lists