Re: [PATCH v5 03/14] PM: Introduce an Energy Model management framework
From: Rafael J. Wysocki <hidden>
Date: 2018-08-10 11:15:32
Also in:
lkml
On Friday, August 10, 2018 11:12:18 AM CEST Quentin Perret wrote:
On Friday 10 Aug 2018 at 10:41:56 (+0200), Rafael J. Wysocki wrote:quoted
On Friday, August 10, 2018 10:15:39 AM CEST Quentin Perret wrote:
[cut]
Agreed. EAS and IPA don't care about the absolute real power values, all they care about is relative correctness. But what I really want to avoid is having IPA getting the power of the GPUs in mW, and the power of CPUs in an abstract scale without unit. That _will_ create problems eventually IMO, because the behaviour is undefined. Specifying a unit everywhere is an easy way to enforce a consistent design across sub-systems, that's all.
OK
quoted
quoted
What I am currently proposing is to keep the unit (mW) in the EM framework so that migrating IPA to using it can be done in a (relatively) painless way. On a system where drivers don't know the exact wattage, then they should just 'lie' to the EM framework, but it's their job to lie coherently to all subsystems and keep things consistent, because all subsystems have specified power in comparable units.Alternatively, there could be a translation layer between EM and IPA.Hmm, interesting... What do you have in mind exactly ? What would you put in that layer ?
Something able to say how the numbers used by EM and IPA are related. :-) Do you think that IPA and EM will always need to use the same set of data for the CPU?
quoted
From my experience, if you want people to come up with some numbers, they will just choose them to game the system this way or another unless those numbers can be measured directly or are clearly documented. And if that happens and then you want to make any significant changes, you'll need to deal with "regressions" occuring because someone chose the numbers to make the system behave in a specific way and your changes break that. As a rule, I rather avoid requesting unknown numbers from people. :-)quoted
Another solution to solve this problem could be to extend the EM framework introduced by this patch and make it manage the EM of any device, not just CPUs. Then we could just specify that all power costs must be in the same scale, regardless of the actual unit, and register the EM of CPUs, GPUs, ... However, I was hoping that this patch as-is was enough for a first step, and that this extension of the framework could be done in a second step ? Thoughts ? In any case, if we decide to keep the mW unit for now, I should at least explain clearly why in the commit message.Right. Actually, the unit is as good as any other, but you need to bear in mind that the numbers provided may not be realistic.As long as they're all correct in a relative way, that's fine by me :-)
OK Thanks, Rafael