Hi Cristian,
On 3/29/22 14:29, Cristian Marussi wrote:
> On Wed, Mar 16, 2022 at 11:52:03PM +0000, Lukasz Luba wrote:
>> Hi all,
>>
>
> Hi Lukasz,
>
>> This patch set adds new callback and support for artificial Energy Model (EM).
>> The new EMs have artificially generated performance states.
>> Such EMs can be created from lean information sources, such
>> as the relative energy efficiency between CPUs. The ACPI based
>> platforms provide this information
>> (ACPI 6.4, s5.2.12.14 'GIC CPU Interface (GICC) Structure'
>> 'Processor Power efficiency Class' field).
>>
>> Artificial EMs might require to directly provide the 'cost' of
>> the generated performance state. This patch set adds a new callback
>> .get_cost() for this. The EM framework does not force any model
>> or formula, it's up to the platform code.
>>
>> Artificial EMs aim to leverage the Energy Aware Scheduler
>> (EAS). Other frameworks relying on performance states
>> information (i.e. IPA/DTPM) must be informed of the
>> EM type and might be prevented from using it. This patch
>> sets also does this by introducing a new flag:
>> EM_PERF_DOMAIN_ARTIFICIAL.
>>
>> The patch set is based on current linux-next, where some
>> changes to OPP & EM are queuing.
>>
>> The patch set also contains (patch 7/8 and patch 8/8) logic which prevents
>> two EM's client frameworks from using this new EM type. Some other approach,
>> using 'milli-watts', has been proposed and discussed, but refused [1].
>> This new flag is more precised and should not leave space for
>> wrong interpretation.
>>
>> Shortly after this patch set you will see a patch set implementing the
>> platform code and registering this new EM.
>>
>
> Just to let you know that in the few days I'm going to post the first
> chunk of some SCMIv3.1 additions that includes also (as you probably
> know) the SCMI Perf protocol support for reporting perf_domain costs in
> micro-watts and not only in milli-watts.
>
> Given that it does not seem that as of now the em_ API used by the SCMI
> cpufreq driver can make use of this new scale (and being not at all
> familiar with EM/EAS for sure :P), the SCMIv3.1 'Perf micro-watts' patch
> which I will post (I'll CC you) does NOT expose any new interface but only
> takes care to store the new micro-watts capability internally in a flag
> (if advertised by an SCMIv3.1 backend server), so that, basically, you'll
> keep seeing from the SCMI cpufreq driver that the scale is milli-watt
> (when milli-watts are used of course) or non-milli-watt (for abstract and
> micro-watts scales).
Sounds good!
>
> This is intended to be of course a first step, laying out just the bare
> minimum commmon internal SCMI support, until we figure out how to properly
> expose this from the SCMI Perf in order to make it usable for EM.
> (if neeeded at all).
>
I had such a patch for the EM, to keep the power in micro-Watts.
We can glue these two layers (high level EM and low layer SCMI
perf). Let's sort it out.
Regards,
Lukasz