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

Lukasz Luba
2023-12-19T09:34:50Z

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@arm.com>
>> ---
>> 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.