Re: Arndale power management

Lukasz Majewski
2013-07-16T07:23:45Z

Hi Francesco,

> Adding few more lists so that others can also help..
>
> On 15 July 2013 20:00, Comaschi, F. <fcomaschi@tue.nl> wrote:
> > Dear Viresh,
> >
> > I am Francesco Comaschi, a researcher at Eindhoven University of
> > Technology. My research group is interested in implementing custom
> > power management policies on ARM-based platform (at the moment we
> > are using an Arndale 5250 board featuring Exynos5 dual). We would
> > like to make use of DVFS and to be able to measure power
> > consumption on the board.
>
> Ok.
>
> > First of all, congratulations for the work that you and the other
> > guys form the power management team are doing within the Linaro
> > community, I always follow your progress, and so far you have been
> > the only reliable source of information for everything I have been
> > doing on the board.
>
> Thanks :)
>
> > If you do not mind, I would like to ask you a few questions:
> > 1) Is there a way to measure the board power consumption via
> > software? I have read here:
> > http://blogs.arm.com/software-enablement/925-linux-hwmon-power-management-and-arm-ds-5-streamline/
> > that it is possible with the ARM Versatile boards, through the
> > hwmon framework and lm_sensors. However, when I run lm_sensors on
> > the Arndale board, no sensors were found. Do you know about any
> > other possible ways to measure power in software?

I don't know if it will work for you, but for a reference (per-process
not per-task) you can look into the following proposal
http://lwn.net/Articles/557822/

"Per-process power consumption measurement facility"
Konstantin Krivyakin <k.krivyakin@samsung.com>

> > Maybe it is
> > possible to communicate with the on-board PMIC?

You can look into the PMIC spec if some detailed informations are
exposed. Moreover each battery shall be described by a model, which
PMIC uses e.g. for accurate charging.

PMICs at Exynos4 are communicating via I2C and provide information
about battery state of charge (SoC). You can monitor this value over
time and on this basis get (very coarse) estimation of power
consumption.

> > Maybe there are
> > some registers where information about the power/voltage provided
> > to the processor and the other components is available?
>
> On ARM Versatile express boards and the coretiles that come with it,
> we have sensors which are probed through hwmon framework in
> Linux. So, we have hardware IPs present on board which let us
> get some power figures per cluster for big LITTLE.
>
> I am not sure if Exynos have any such things on it.
>
> @Chander: Are you aware of any such features?
>
> > 2) Recently I have read Andy Green’s presentation “How to measure
> > SoC power”. However, by measuring power on the PMIC input side
> > through the ARM Energy Probe, probably I won't be able to see the
> > effect of DVFS. Do you have any suggestions on how to measure the
> > effect of DVFS, even through hardware measurements?
>
> You need probes on the voltage regulator which is feed the cores...
> But again, that is very much hardware specific. And I haven't worked
> on Exynos at all :)

I can only give you a hint there (since I didn't worked with Arndale ...
yet) - measure current and voltage provided for SoC core Vdd plane.

>
> > 3) More in general, I do not know which is the best way to
> > implement custom policies of DVFS.
>
> I didn't get you here. Are you talking about tuning of governors here?
>
> > Is it possible, maybe through appropriate API's, to access the
> > cpu_idle and the cpu_freq framework from inside my application?

As fair as I see it (probably Viresh will correct me :-) ) the cpu_idle
and cpufreq work in different direction. They provide a response [*] on
the load change caused by the user (by starting heavy load task).

By the response [*] I mean change frequency and voltage level.

> > Shall I work directly with the drivers of the PMIC? Is it possible
> > to set the voltage directly from inside my application?
>
> Something on the board must provide this to kernel. Kernel can't
> get it by itself.

--
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group