On Tue, Sep 15, 2020 at 02:46:16PM -0700, Doug Anderson wrote: > Hi, > > On Tue, Sep 15, 2020 at 1:55 PM Daniel Lezcano > <daniel.lezcano@xxxxxxxxxx> wrote: > > > > On 15/09/2020 19:58, Matthias Kaehlcke wrote: > > > On Tue, Sep 15, 2020 at 07:50:10PM +0200, Daniel Lezcano wrote: > > >> On 15/09/2020 19:24, Matthias Kaehlcke wrote: > > >>> +Thermal folks > > >>> > > >>> Hi Rajendra, > > >>> > > >>> On Tue, Sep 15, 2020 at 11:14:00AM +0530, Rajendra Nayak wrote: > > >>>> Hi Rob, > > >>>> > > >>>> There has been some discussions on another thread [1] around the DPC (dynamic-power-coefficient) values > > >>>> for CPU's being relative vs absolute (based on real power) and should they be used to derive 'real' power > > >>>> at various OPPs in order to calculate things like 'sustainable-power' for thermal zones. > > >>>> I believe relative values work perfectly fine for scheduling decisions, but with others using this for > > >>>> calculating power values in mW, is there a need to document the property as something that *has* to be > > >>>> based on real power measurements? > > >>> > > >>> Relative values may work for scheduling decisions, but not for thermal > > >>> management with the power allocator, at least not when CPU cooling devices > > >>> are combined with others that specify their power consumption in absolute > > >>> values. Such a configuration should be supported IMO. > > >> > > >> The energy model is used in the cpufreq cooling device and if the > > >> sustainable power is consistent with the relative values then there is > > >> no reason it shouldn't work. > > > > > > Agreed on thermal zones that exclusively use CPUs as cooling devices, but > > > what when you have mixed zones, with CPUs with their pseudo-unit and e.g. a > > > GPU that specifies its power in mW? > > > > Well, if a SoC vendor decides to mix the units, then there is nothing we > > can do. > > I mean, there is something someone could do. They could buy one of > these devices, measure the power (which wouldn't actually be that hard > to do), then submit a patch to adjust all the numbers. ;-) In case they look for a recipe: commit ac60c5e33df4ec2b69c7e3ebbc0ccf1557e7bd5e Author: Matthias Kaehlcke <mka@xxxxxxxxxxxx> Date: Thu Apr 11 17:01:58 2019 -0700 ARM: dts: rockchip: Add dynamic-power-coefficient for rk3288 The value was determined with the following method: - take CPUs 1-3 offline - for each OPP - set cpufreq min and max freq to OPP freq - start dhrystone benchmark - measure CPU power consumption during 10s - calculate Cx for OPPx - Cx = (Px - P1) / (Vx²fx - V1²f1) [1] using the following units: mW / Ghz / V [2] - C = avg(C2, ..., Cn) [1] see commit 4daa001a1773 ("arm64: dts: juno: Add cpu dynamic-power-coefficient information") [2] https://patchwork.kernel.org/patch/10493615/#22158551