Re: [PATCH v5 23/23] Documentation: EM: Update with runtime modification design

From: Lukasz Luba
Date: Tue Dec 19 2023 - 04:35:23 EST




On 12/12/23 18:51, Dietmar Eggemann wrote:
On 29/11/2023 12:08, Lukasz Luba wrote:
Add a new section 'Design' which covers the information about Energy
Model. It contains the design decisions, describes models and how they
reflect the reality. Remove description of the default EM. Change the
other section IDs. Add documentation bit for the new feature which
allows to modify the EM in runtime.

Signed-off-by: Lukasz Luba <lukasz.luba@xxxxxxx>
---
Documentation/power/energy-model.rst | 206 +++++++++++++++++++++++++--
1 file changed, 196 insertions(+), 10 deletions(-)

diff --git a/Documentation/power/energy-model.rst b/Documentation/power/energy-model.rst
index 13225965c9a4..1f8cf36914b1 100644
--- a/Documentation/power/energy-model.rst
+++ b/Documentation/power/energy-model.rst
@@ -72,16 +72,48 @@ required to have the same micro-architecture. CPUs in different performance
domains can have different micro-architectures.
-2. Core APIs
+2. Design
+-----------------
+
+2.1 Runtime modifiable EM
+^^^^^^^^^^^^^^^^^^^^^^^^^

The issue I see here is that since now the EM is runtime modifiable and
there is only one EM people might be confused in locking for a
non-runtime modifiable EM. (which matches the design till v4).

So 'runtime modifiability' is now feature of the EM itself.

True, I can skip this, since it's now default.


There is also a figure in this document illustrating the use of
em_get_energy(), em_cpu_get() and em_dev_register_perf_domain().

I wonder if this should be extended to cover all the new interfaces
created for the 'runtime modifiability' feature?

That ASCI picture would be totally messy, with that many interfaces.
We can think about some other picture later, when this basic code and
basic doc is merged.