Re: [PATCH 1/3] sched/fair: Prepare variables for increased precision of EAS estimated energy

From: Lukasz Luba
Date: Wed Jul 07 2021 - 10:25:40 EST




On 7/7/21 2:53 PM, Vincent Guittot wrote:
On Wed, 7 Jul 2021 at 13:02, Lukasz Luba <lukasz.luba@xxxxxxx> wrote:



On 7/7/21 11:50 AM, Vincent Guittot wrote:
On Wed, 7 Jul 2021 at 12:41, Lukasz Luba <lukasz.luba@xxxxxxx> wrote:



On 7/7/21 11:32 AM, Vincent Guittot wrote:
On Wed, 7 Jul 2021 at 12:29, Lukasz Luba <lukasz.luba@xxxxxxx> wrote:



On 7/7/21 11:11 AM, Vincent Guittot wrote:
On Wed, 7 Jul 2021 at 12:06, Lukasz Luba <lukasz.luba@xxxxxxx> wrote:


[snip]

No. It's in 0.1uW scale, so 800Watts. Which is 16 CPUs * 64Watts

Oh! you want 0.1uW precision .... This doesn't seem realistic at all.
I'm not even sure that the power model can even reach an accuracy of
1mW


True, the EM is registering platform with 1mW precision, but 1uW

Do you mean 1uW or 0.1uW ?

In this patch set I've proposed 0.1uW, but I'm open to drop one
order of magnitude. The 1uW still be good.

I don't want to underestimate the capabilities of the power model but
I don't see which benefit you will get with 0.1uW precision
With a 1uW precision the long type currently used for the returned
value is fine for 32bits machine AFAICT


For 1uW and 1.2Watts for one core, 4 CPUs in cluster we get:
(1200 * 1000) * (4 * 1024) = ~4.9bln
so it would need div 64 version

But as stated before, this is an internal computation step and doesn't
have to be reflected in the returned value which can stay a long


I agree, we might scale down the result if it's too big, before the
return. We could figure this out at the EM registration point, so a
proper shift might be applied for such platform. It might enable both
32bit and 64bit platforms to avoid the rounding error. Let me experiment
with some code to check all the cases.
Thank you for the comments!