Monday Jul 27, 2009

Last week I populated the ptop-gtk repository, which holds a Gtk based interface for PowerTOP I've been developing over the last couple of months on my spare time. This new interface is enabled with the -G command line option, and it accepts all the existing options.

The motivation for the new interface is quite simple: increase the density of information displayed to the user. The current curses based interface is very limiting as far as that goes - not to mention a pita to maintain. Yes, it looks pretty, but looks aren't everything ;). I personally think we can take a few generally simple steps with various tools to enhance user experience.

The first tab simply shows what you already get with the current interface, allowing more information than the latter. The second tab displays moving area graphs for idle and frequency states, and a graph for the event report.

A couple of screenshots:

This is still in early development, I've been pushing it along as time allows. I'm writing a Gtk widget for periodic graphs, which is extended by another widget for DTrace based graphs. These widgets allow a very simple plug and play into DTrace consumers, just instantiate one, point the it to the data and it will do the job.

There a number of simple bugs that need to be fixed, but it's a relatively good start. I don't know when it will be ready for putback into snv, like I said, it needs work and it's not a very high priority at the moment. On the same subject, I'm not sure Gtk should be a dependency for ON builds, maybe the right place for this is in another consolidation. I don't know yet.

As always, questions/comments/suggestions are more than welcome.

Enjoy !

Saturday Jul 26, 2008

PowerTOP 1.1 for OpenSolaris was released earlier this week, featuring some cool enhancements to the tool and a lot of improvements to the code. Brian Leonard at the Observatory posted a cool review of the new version and Dave Stewart from Intel also posted some nice things about it.

I'd just like to point out a few other cool things about the new version:

  • The code has improved a lot since the last version, we picked up a series of bugs along the way and crossed them. So PowerTOP runs much smoother now.

  • PowerTOP 1.1 has extended the -d option (which dumps the analysis to the stdout) so that it does a specified number of analysis and dumps. This is very useful when you want to automate the tool. For instance,
    $ powertop -t 3 -d 10

    will run PowerTOP with a 3 second interval period for ten iterations and dump each of them to the stdout.

  • PowerTOP will run on xVM domains (including dom0) as of snv94.

  • The event report now takes cross calls into account. Cross calls (or xcalls) and Interprocessor Interrupts are basically a processor poking another processor. Those pokes can wake CPUs up and lead to higher power consumption. Both xcalls and IPIs are listed under the xcalls column in mpstat(1M). PowerTOP reports them as cross calls.

A cool thing to do when running PowerTOP is to increase the height of the terminal window so that the event report is able to list more events. This is most evident in cases where the system has a high number of P-states, as the tool resizes its subwindows automatically to show all of them.

If you're interested in PowerTOP, just join tesla-dev@opensolaris.org and drop us a line. We also have a category for our bugs/RFEs under defect.opensolaris.org, feel free to file one if you have it :)

Wednesday May 14, 2008

The first release of the PowerTop tool for OpenSolaris is available at the Tesla Project's page (http://opensolaris.org/os/project/tesla/).

PowerTop is an observability tool that shows how effectively the system is taking advantage of the CPU's power management features. The tool allows the user to see how long the CPU is running at different power states, and which events are causing the system to wakeup and consequently consume more energy.

In order to run PowerTop, the user must have Solaris Nevada build 82 or higher installed.
It will also be possible to run the tool on Solaris 10 systems with Update 6 - once such update is released.

x86 and SPARC packages are available. We're also working on getting it into pkg.opensolaris.org so everyone can take advantage of the new kickass IPS packaging system on OpenSolaris 2008.05 :)

PowerTop is a community project developed on opensolaris.org. Join our alias (tesla-dev@opensolaris.org) if you're interested in getting involved.

This blog copyright 2009 by rv