I am sponsoring the following PSARC case for Rafael Vanoni. This case
will bring the current PowerTOP utility with additional work that has
been done by the OpenSolaris Tesla project into Solaris. This is an
observability tool with significant Solaris benefit and Linux roots.
As we don't control the user interfaces and it consumes Solaris
committed interfaces, we believe this qualifies as a self review. If
someone believes it is not, then it can be turned into a regular
fasttrack.
1. Introduction
1.1. Project/Component Working Name:
PowerTOP for OpenSolaris
1.2. Name of Document Author/Supplier:
rafael.vanoni at sun.com
1.3. Date of This Document:
09/01/08
1.4. Name of Major Document Customer(s)/Consumer(s):
PSARC
1.5.4. Interest List:
tesla-dev at opensolaris.org
2. Project Summary
2.1. Project Description:
PowerTOP is an observability tool that shows how effectively
the system is taking advantage of the CPU's power management
features. By running the tool on an otherwise idle system, the
user can see for how long the CPU is running at different power
states. The utility analyzes system activity through DTrace and
reports activity that is preventing the CPU from being power
efficient.
PowerTOP is an Intel utility initially developed for Linux that
is being jointly ported by Sun and Intel through OpenSolaris,
and has been released through OpenSolaris. The development team
also aims at maintaining sync with the Linux version of the
utility whenever possible by communicating with PowerTOP's
Linux community and maintainers to discuss possible merges.
2.2. Risks and Assumptions:
PowerTOP uses DTrace sdt probes that were putback into Solaris
Nevada 82. Therefore, the user must be running snv82 or a
later version of Solaris and have DTrace privileges.
3. Business Summary
3.1. Problem Area:
It allows end users to improve their system towards power
efficiency.
3.2. Market/Requester:
Solaris users, developers, and system administrators interested
in improving system power efficiency.
3.3. Business Justification:
PowerTOP enables sysadmins, customers, developers, etc. to
understand how the OS and applications impact power
management. Considering the interest in improving Solaris'
power efficiency, eco responsability, joint and open
development through OpenSolaris, we believe this utility would
be a positive addition to the sfw consolidation.
3.4. Competitive Analysis:
PowerTOP for OpenSolaris was ported from the original Linux
version. Linux has had this tool for some time.
3.5. Opportunity Window/Exposure:
The tool has already seen a good deal of exposure through
OpenSolaris.
3.6. How will you know when you are done?
The tool has already reached version 1.1.
4. Technical Description:
4.1. Background/problem:
Power efficiency has become a critical aspect of computer
systems. Hardware manufacturers have responded to this
necessity by offering CPUs (and other components) that can
operate at different power consumption levels. Operating
systems have followed by managing the hardware to achieve
higher power efficiency, but have not exported the knowledge to
allow system administrators and software developers to improve
power efficiency at the application layer. The end user doesn't
not know how the system is behaving in terms of PM.
4.2 Proposed Solution:
PowerTOP is an open source project originally developped by
Intel for Linux systems. It reports the behavior of the
system's power management features (CPU frequency and energy
state transitions) and an analysis of the system activity that
is causing the CPU to go to higher power consumption states.
Thus, the user can optimize its system towards power efficiency
by interpreting the event report and acting in the appropriate
manner.
PowerTOP was ported to OpenSolaris through the Tesla project on
opensolaris.org, and has had outside contributions (mainly from
Intel) since the beggining. It contains GPLv2 source code with
CDDL licensed makefiles.
PowerTOP was redesigned as a DTrace consumer for power
management related events, observing CPU state transitions and
specific system activity through libdtrace(3) and a set of sdt
probes. The utility executes three DTrace scripts on a pre
defined interval, each script observes a specific aspect of
power management: CPU idle state transitions, system events
that can cause CPU wakeups and CPU frequency changes.
The tool also consumes kstat data for laptop battery usage and
to correlate the CPU frequency data gathered by DTrace with the
system's current frequency. It provides a curses(3CURSES) based
user interface, creating different subwindows to report the
analysis of its DTrace scripts.
4.3. Bug/RFE Number(s):
6713863
4.4. Interfaces:
(a) Exported Interfaces
Pathnames are "Committed", User options are "Volatile".
Interface Description
------------------------------------------------------------------------
SFWpowertop package name
/usr/bin/powertop symbolic link
/usr/bin/amd64/powertop executable
/usr/bin/i386/powertop executable
/usr/bin/sparcv9/powertop executable
/usr/share/man/man1/powertop.1m manpage (CR 6723453)
User options:
-d, --dump [count] Read wakeups count times
and print list of top
offenders
-t, --time [interval] Default time to gather
data in seconds [1-100s]
-v, --verbose Verbose mode, reports
kernel cyclic activity
-h, --help Show this help message
(b) Imported Interfaces
Interface Classification ARC case
------------------------------------------------------------------------
DTrace Commited PSARC/2001/466 DTrace
libkstat Commited
/etc/power.conf Commited PSARC/1992/202 Power
Management
(c) Release Binding
Micro/Patch
4.6. Dependencies:
DTrace probes introduced in snv82, kstat acpi_drv module (so it
can report laptop battery status). Running the tool without the
necessary DTrace probes causes the application to exit and
output a DTrace message reporting the cause of the error.
5. Reference Documents:
CR's 6713863, 6635705, 6643464 and man page.
PSARC/2001/466 DTrace
http://sac.sfbay/PSARC/2001/466/
PSARC/2003/425 DTrace sdt Provider
http://sac.sfbay/PSARC/2003/425/
6. Resources and Schedule:
6.1. Projected Availability:
Currently available through OpenSolaris.
6.2. Product Approval Committee requested information:
6.4.1. Consolidation or Component Name:
ON
6.3. ARC review type:
Self Review