Hi Tesla-dev,

Here is a proposed PSARC self review.  Please send
feedback.  We plan to submit this as soon as possible.
All of its content has already been discussed here.

I filled out most all of the onepager template.  Please
let me know if this should be cut down to a smaller
subset.

Thank you,
Bill



Copyright 2008 Sun Microsystems

1. Introduction
   1.1. Project/Component Working Name: Deep C-States

   1.2. Name of Document Author/Supplier: Bill Holler

   1.3. Date of This Document: 09/18/2008

   1.4. Name of Major Document Customer(s)/Consumer(s): PSARC

   1.5. Email Aliases:
        1.5.1. Responsible Manager: darrin.johnson at sun.com
        1.5.2. Responsible Engineer: bill.holler at sun.com
    1.5.4. Interest List: tesla-dev at opensolaris.org

2. Project Summary
   2.1. Project Description:
    Solaris support for ACPI processor C-States beyond C1.
    Enhanced power savings idle loop.

   2.2. Risks and Assumptions:
    As with most power saving features this change may introduce
    a small performance regression for the sake of saving power.

3. Business Summary
   3.1. Problem Area:
    Reduce power consumption of computer systems.
    Idle CPUs use the same amount of power as working CPUs without
    power saving features.  Solaris currently supports processor
    halting (ACPI C1) which can reduce power consumption about 30%
    on idle CPUs.  Next generation Intel server processors will
    support ACPI C-States beyond C1.  Solaris can save more power
    on under-utilized systems by using these C-States.

   3.3. Business Justification:
    Feature will save customers power and colling costs.

   3.4. Competitive Analysis:
    Solaris has the opportunity to be a stand out power/performance
    leader with to its advanced support for processor groups, diverse
    system topologies, and hardware utilization.

   3.5. Opportunity Window/Exposure:
    Now.

   3.6. How will you know when you are done?:
    CPUs on completely idle system will spend the majority of their
    time (> 50%) in a Deep C-State if not interrupted.
    Overall power consumption of the system will be less.
    Total power savings will be greater than any reduction in maximum
    performance (if there is any maximum performance reduction).

4. Technical Description:
    4.1. Details:
    Solaris will support the ACPI mechanism for entering Deep C-State
    on idle processors.  The HPET (High Performance Event Timer) on the
    chipset will be used to wake up CPUs from Deep C-States if their
    Local APIC Timer cannot wake them up.

    This project is an OpenSolaris project done with community
    contributions.

    Systems without invariant TSC (Time Stamp Counter) will not
    initially support Deep C-States.

    4.2. Bug/RFE Number(s): 6700904
   
    4.4. Out of Scope:
    Deep C-State will not be supported on legacy processors which
    do not have a stable TSC.  This may be done in the future by
    a new project or by members of the OpenSolaris community.
   
    4.5. Interfaces:
    This project will import these existing interfaces.
    Interface stability will be "committed".
    Import:
        power.conf(4) (PSARC/1992/202)
        pmconfig(1m)

    cpu_deep_idle keyword.
    Some systems may wish to disable Deep C-States due to unavoidable
    increased idle CPU wakeup latency.  A cpu_deep_idle entry will be
    added to power.conf(4) to disable Deep C-States.  If this entry is
    set to default or is not present then the default Deep C-State
    support will be used.  The default behavior will enable
    Deep C-States on all X86 systems which have an invariant TSC and
    the ability to wake the processors from Deep C-State.
    The disable option will disable this feature.


    power.conf(4) man page addition:

     If supported by the platform, a cpu_deep_idle entry may be used
     to enable or disable automatic use of power saving cpu idle states.

     The format of the cpu_deep_idle entry is cpu_deep_idle behavior.

     Acceptable behavior values are:

     default    Advanced cpu idle power saving features will be
        enabled on hardware which supports it.  On X86 systems
        this may translate to the use of ACPI C-States beyond C1.

     enable     Enables the system to automatically use idle cpu power
        saving features.

     disable    The system does not automatically use idle cpu power
        saving features.  This option may be used when maximum
        performance is required at the expense of power.


    4.6. Doc Impact:
    power.conf man page.  See above.
   
    4.7. Admin/Config Impact:
    Administrators of systems where maximum performance is more
    important than power/performance can disable this feature.
    It is not anticipated than many customers will choose to disable
    this feature as it provides improved power/performance.
   
    4.8. HA Impact: None.
   
    4.9. I18N/L10N Impact: No.
   
    4.10. Packaging & Delivery:
    kernel package
    cpudrv package
    power.conf package
    pmconfig package
 
    4.11. Security Impact: None.
   
    4.12. Dependencies: power.conf, pmconfig(1M)

5. Reference Documents:
    Advanced Configuration and Power Interface:
    http://www.acpi.info/

    IA-PC HPET (High Precision Event Timers) Specification:
    http://www.intel.com/hardwaredesign/hpetspec_1.pdf

6. Resources and Schedule:
   6.1. Projected Availability: Fall 2008

   6.4. Product Approval Committee requested information:
    6.4.3. Type of CPT Review and Approval expected: BugFix
    6.4.5. Is this a necessary project for OEM agreements: Yes.
    A deliverable of the Intel/SUN master collaboration agreement.
    6.4.7. Target RTI Date/Release:
        RTI around onnv_103 and S10U8
    6.4.8. Target Code Design Review Date: 09/22/2008
    6.4.9. Update approval addition: No.

   6.5. ARC review type: SelfReview

7. Prototype Availability:
   7.1. Prototype Availability:
    Prototype available on OpenSolaris in August 2008.


Reply via email to