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


Reply via email to