PowerTOP - PowerTOP v2.0 Release

We are pleased to announce the release of PowerTOP v2.0 which concludes a major overhaul of the code base, and adds exciting new features.

About PowerTOP

PowerTOP is a Linux tool to diagnose issues with power consumption and power management. In addition to being a diagnostic tool, PowerTOP also has an interactive mode where you can experiment with various power management settings for cases where the Linux distribution has not enabled those settings.

PowerTOP reports which components in the system are most likely to blame for a higher-than-needed power consumption, ranging from software applications to active components in the system. Detailed screens are available for CPU C and P states, device activity, and software activity.

For many years, PowerTOP has been used heavily by Intel, Linux distributors, and various parts of the open source community. We're hoping that our users find the second generation even more useful for their needs.

Highlights

  • Greatly enhanced diagnostic capabilities using the Linux kernel perf framework
  • New tab-based UI which displays more detailed information in real time
  • Advanced reporting capabilities for offline analysis including HTML5 and CSV formats.

Release Details

PowerTOP v2.0 has four major thought tracks:

  1. Keep the integrity of PowerTOP v1.x, but update it to be equally relevant to its growing user base.
  2. Take the interests from our user base, such as the need and want for greater reportability, and more tunables information.
  3. Keep PowerTOP moving forward with changes to the Linux kernel, such as the depreciation of power trace events, like power_frequency starting in Linux kernel version 3.0.
  4. Make sure PowerTOP was updated with emerging Intel Architecture, such as the newer Ivy Bridge chipset.

Version 2.0 has several new key features and updates. The first big change is the use of a hardened library called libparseevents, for accessing the kernel "perf" infrastructure. With this enhancement, we are able to provide much more accurate data, and be more flexible with any future kernel development. There has been a great deal of work done in the area of CPU data measurement and diagnostics. Full accurate support was added for CPU idle, frequency, and power traces, along with expanded frequency state reporting for CPUs with more than 10 states. With these additions, PowerTOP v2.0 now gives a clearer picture of how programs affect CPU utilization, and the impact on important power-saving sleep states.

PowerTOP v2.0 also includes other key advances, such as system devices tracking, which gives you clear information on which devices (if any) are problematic in terms of power behavior, GPU activity measurements, and VFS opts activity measurements. This allows PowerTOP v2.0 users a more complete overview of the system.

In addition to the new features, several enhancements have been made in these areas:

  • Increased WLAN support—PowerTOP now supports multiple WLAN interfaces
  • Enhanced i915 driver support
  • More robust battery data acquisition
  • Real time measurement support for USB hot-plug.

With all the enhancements and additions, there has also been extensive work on PowerTOP reports. Reporting has been highlighted time and time again as a much needed and desired enhancement. To address all the reporting needs of our users, PowerTOP v2.0 now runs in two modes: interactive and non-interactive. This gives you two representations of the data: static and interactive real-time.

In interactive mode, PowerTOP v2.0 is enhanced with a redesigned, tab-based user interface with full on-demand window refresh support. This new UI gives you a clean, organized, real-time way to visualize and analyze effects on power. Data is now displayed and organized into tabs:

  • Overview Tab: details the summary information about total CPU and wakeups per second for the System, GPU, and VFS ops. Within the summary view, you also see the consumer status for interrupts, devices, timers, processes, and more.
  • Idle stats tab: details the summary information on the various processor cores, and the status of the processor package.
  • Frequency stats tab: details the summary information about the clock speeds, and the percentage used in said clocks, for each processor core and package. 
  • Device stats tab: details the summary device activity overview, network device transmission rates, and GPU ops rates.
  • Tunables tab: summarizes our best known diagnostic recommendations and options to apply. This tab is also interactive with the ability of allowing you to toggle the options while in interactive mode. So in real time, you can see what affect PowerTOP’s recommendations will have on power.

In the non-interactive mode (aka reporting mode), there has been a major overhaul in thought and functionality. PowerTOP v2.0 now allows you to specify not only the duration of each test measurement cycle, but the number of iterations to measure. Depending on your needs, PowerTOP v2.0 now produces two different report formats: HTML and CSV.

  • HTML: The HTML report contains all the information seen in the real time UI, but in a single static report. Additionally, we are happy to say that PowerTOP’s HTML reports are also in an HTML5 application format, giving any user with an HTML5-supported browser a clean, organized tab-based report. As nice as this is for reviewing data, there is also the ALL tab in the HTML5 application that presents all the data in one long format for the total picture. This is also the standard format for HTML reports generated for non-HTML5 browsers. To close the gap in your wants and needs, PowerTOP v2.0 now reports the tunable recommendations. Although PowerTOP is not a permanent tuning tool, PowerTOP indeed has the ability to test the tunable effects of its suggestions. As such, it was only reasonable that we include these tunables in the report.
  • CSV: The CSV report is a single, static, comma-separated, value-delimited report, giving you ultimate control for data manipulation for your specific needs, such as trending and analytical analysis.

Project Details

From a project point of view, there has been several changes. PowerTOP v2.0 has now been autotooled to support and increase portability. There is also limited Android make support, which was completed and spearheaded by community members.

We are also excited to announce that the PowerTOP project will have a new home on 01.org. This will be the single point for releases, blogs, and information on PowerTOP moving forward. In our move to 01.org, we will also be moving and consolidating the current email lists. Although this is a hassle, it is important to consolidate the current website, and the two mailing lists, used for PowerTOP, to their new home on 01.org.

Mailing list:

The development PowerTOP git repositories are hosted at GitHub.

Note: We will not use any of the integrate, merge, or tracking functions of GitHub, so please continue to use the provided lists.

Our thanks

For this release, we would like to give a special thanks to the following contributors, and all contributors to PowerTOP. Not in any particular order:

Sergey Senozhatsky, Márton Németh, Mike Frysinger, John Mathew, Thomas Spura, Henry Gebhardt, Jaroslav Škarvada, Anssi Hannula, Jan Kaluža, Kristen Carlson Accardi, Mikel Olasagasti Uranga, Jussi Kukkonen.

What’s Next

Moving forward, you can expect more great changes, and more interactivity. We have plans, ideas, and a newly restored vigor towards PowerTOP. We will be planning iterative releases, giving blog updates, and talking contributions, not only in code, but QA, documentation, and functional suggestions (especially if the submitter is willing to also code on his/her functional suggestions). We don’t have a lot of dedicated resources, but we now have more then we’ve ever had before.

Current v2.1 goals under consideration are:

  • Localization of the UI into approximately 10 to 20 languages
  • Continued improvements to the UI, including resolution scaling
  • Continued support of emerging Intel Architecture
  • Continued support of emerging Kernel development

Project: