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.

Monday Mar 24, 2008

I recently started working on the Tesla Project, which will provide a comprehensive power management framework for OpenSolaris.

Tesla has been going on for a while now, so the first thing I wanted to do is find out what's been done so far. So first I downloaded the sources for all three gates (powertop, cpupm and tesla)

$ hg clone ssh://anon@hg.opensolaris.org/hg/tesla/powertop
$ hg clone ssh://anon@hg.opensolaris.org/hg/tesla/cpupm-gate
$ hg clone ssh://anon@hg.opensolaris.org/hg/tesla/tesla-gate

And their respective parents (onnv_82, onnv_84 and onnv_76)

$ hg clone -r onnv_82 ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate onnv_82
$ hg clone -r onnv_84 ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate onnv_84
$ hg clone -r onnv_76 ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate onnv_76

What I wanted was a list of the active files and a webrev of the changes, basically a diff.

I went to the SCM Migration Project page and downloaded the latest SUNWonbld package - which is Mercurial aware.

If you run webrev without pointing it to a different parent, it will diff it from the online parent. Because the gates are synced with previous revisions of onnv, we need to point it to the ones downloaded. So

$ export CODEMGR_WS=/sandbox/tesla/powertop
$ export CODEMGR_PARENT=/sandbox/tesla/onnv_82
$ webrev

And then the same for the other gates.

This blog copyright 2009 by rv