Get Powertop2.0 to work on ARM

Registered by Amit Kucheria

A new version of powertop has been released at git clone git://

This is a complete rewrite of powertop. We need to make sure it is packaged and supported on ARM

Blueprint information

Amit Kucheria
Amit Kucheria
Amit Daniel Kachhap
Series goal:
Accepted for trunk
Milestone target:
milestone icon 2011.08
Started by
Amit Kucheria
Completed by
Mounir Bsaibes

Related branches




Powertop2.0 along with ARM specific support is staged in linaro git as,

To setup the compilation environment for powetop2.0, some library dependencies need to be resolved.
They can be done as,
apt-get install pkg-config, libnl-dev, ncurses-dev.

Additionally libraries like zlib and libpci needs to be compiled and installed.
tar -xf zlib-1.2.5.tar.gz; cd zlib-1.2.5; ./configure; make; make install
git clone git://
cd pciutils; make install-lib

Powertop needs support of perf and trace subsystem, so enable following configurations in kernel,

Android support for powertop is added and can be accessed from
git:// linaro)
The android library dependencies are ,
1) android libnl library can be found from,
 git:// libnl_android)
2) ncurses android library can be found from,
   git:// linaro)

The following work items as moved to
[amitdanielk] Verify the functional level correctness of the parameters like any per core parameters is not averaged: TODO
[amitdanielk] Follow up with upstream to get android ARM patches integrated: BLOCKED
[amitdanielk] Add autotools support to powertop as requested by maintainer: TODO


Work Items

Work items for 2011.07:
[amitdanielk] Port powertop2.0 for ARM: DONE
[amitdanielk] Compiled and executed powertop2.0 for ARM: DONE
[amitdanielk] Investigated the cause of C states and P states not appearing: DONE
[amitdanielk] Fixed the assumption of model field of /proc/cpuinfo always present: DONE
[amitdanielk] Fixed the assumption of package id always initialised: DONE
[amitdanielk] Stage the working powertop2.0 in linaro git for all partner vendors to test: DONE
[amitdanielk] Investigated and fixed the issue of changed frequency value not appearing in case of power_frequency events: DONE
[amitdanielk] Compared the behaviour of powertop and perf tools for extraction of power event values: DONE
[amitdanielk] Upstreamed all the modifications in power mailing list where the equivalent modifications added by the maintainer: DONE
[amitdanielk] Verify the correctness of the data exposed by powertop tool like C state, P state, number and cause of wakeups: DONE
[amitdanielk] Port all dependent libraries (libnl, pciutils, zlib, libslang) for android or use if it is already available: DONE
[amitdanielk] Creating android makefile for powertop2.0: DONE
[amitdanielk] Periodically sink the linaro powertop git and make sure that it continues to work on ARM platforms: DONE
[amitdanielk] Submitted a patch for fixing padding issue of power frequency events: DONE
[amitdanielk] Port powertop2.0 for android platform(use pandaboard as android builds are available): DONE
[amitdanielk] Compile powertop 2.0 using Linaro's Android build on Panda and get it integrated there: DONE
[amitdanielk] Create android support for ncurses library: DONE
[amitdanielk] Copied android support for powertop and dependent libraries to gerrit(git://*): DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.