Agenda
Power management readinessFirmwareDevice driversPower policy configurationPre-installation software
Validation scenariosCall to actionResources
Key Factors in Windows Power Management
Hardware• Select energy efficient hardware, such as USB devices that support
selective suspend
Firmware and Drivers• Develop and validate reliable firmware and drivers for power
management
Operating System• Enable large periods of idle time in the face of increasing
functionality
Power Policies• Configure appropriate power policies and plans
Value-Added Software• Ensure consistent energy efficiency
Developm
ent and Validation
Overview of FirmwareReadiness for Power
Install and test each platform on a checked build (debug build) of Windows 7
Includes additional firmware validation tests
Review system event channel after installation and power management testing
Critical errors are logged for detected firmware problems, such as memory corruption and Advanced Configuration and Power Interface (ACPI) control method problems
Battery Informationfrom Firmware
Windows reacts todifferent battery conditions
Notification, warning,and hibernate to protectuser dataBattery heath check
Depends on accurate information from firmware
Drain rate andremaining capacityDesign capacityLast full charge
7%
16%
5%
All thresholds areconfigurable in Power Policy
Last
full c
harg
e <40
%
of d
esign
capa
city
Common BatteryFirmware Problems
Design Capacity is incorrectly reported
Last Full Charge Capacity is incorrectly reported or is 0
Power unit does not matchDesign Capacity or Last FullCharge Capacity
Power unit has been set to 0×0 (report in mWh), but the valuesin the Design Capacity or Last Full Charge Capacity are reported in mAh units
Design Capacity and Last Full Charge Capacity are alwaysthe same value
Use powercfg –energyto inspect battery heath
Adaptive Display Brightness
Implement display brightness controls using ACPI methods
_BCL, _BCM, _BQC, and so onSupport 50 or more brightness levelsImplement fade between levels within embedded controller (EC)
Describe ambient light sensor (ALS)devices using ACPI 3.0 methods
Automatic integration with Sensorsand Location PlatformALS driver included with Windows 7
Implement brightness hotkeysusing ACPI notifications
Do not use custom firmware implementations or installedsoftware services
ACPI 3.0 ALS Device(_ALI, _ALR, etc.)
ACPI Output Device(_BCL, _BCM, etc.)
ACPI Interpreter(acpi.sys)
ALS Driver(acpials.sys)
Monitor Driver(monitor.sys)
Sensors and
Location Platform
Power Management Service and Control
Performance Issues
Measure and improve Int13 performanceHelps improve resume from hibernate timeHibernate write times are improved in Windows 7
Reduce BIOS initialization (BIOSInit) durationon resume from S3
Investigate embedded controller (EC) performance improvements
EC delays affect multimedia playback,which causes glitchesFocus on ACPI EC code for reading batterystatus information
Wake Source Detection
Validate correct wake source detection in Event Viewer, which can reduce support costs
Use ACPI firmwareto correctly report wake source
ACPI fixed feature hardwareGPE status bitsPCI Express devices
Ensure that GPE handler issues a Notify() on appropriate device
Event ID 1
Provider Power-Troubleshooter
Channel System
Message The system has resumed from sleep.
Overview of Device Readinessfor Power
Device and driver quality directly affects the power management experience
Reliability and performance of sleep, hibernate,and resume transitionsPower consumption and battery life
Device readiness requires detailed validationUse the powercfg -energy utility to discoverlarge energy efficiency problemsTest device functionality after power transitionsMeasure battery life impact with the latest versions of driversUse xperf from the Windows Performance Tools Kit to measure driver resource utilization, such as CPU time, memory, and disk
USB Devices
Validate device-specific functionality onresume from sleep
Ensure that integrated biometric devices support selective suspend
Do not arm USB devices for wake onmobile PCs
Test wake arm policy changes persist afterOOBE
Ensure that Bluetooth devices are reported as self-powered and capable of waking remotely
powercfg -energy reports configuration problems
Overview of PowerPolicy Configuration
Power policy store mostly unchanged for Windows® 7
Three power plans: Balanced, Power Saver,High PerformancePowerCfg.exe command-line utility shipswith the operating systemOriginal equipment manufacturers (OEMs)can customize policies to meet platform or regulatory requirements
Policy Default Updates
Processor power management (PPM) policies changed for Windows 7; most systems do not require modification of these settings
Balanced Power Plan Policies
Windows Vista® SP1 Default Value
Windows 7 Default Value
Wake alarm Enabled Disabled (mobile PC only)
Hibernate timeout 18 hours 6 hours
Display timeout 20 minutes (AC)5 minutes (DC)
10 minutes (AC)5 minutes (DC)
Sleep timeout 60 minutes (AC)15 minutes (DC)
30 minutes (AC)15 minutes (DC)
802.11 wirelesspower mode
Maximum performance (DC)
Medium power savings (DC)
Idle detection threshold 80% 0% (removed)
Customization Best Practices
Update the plans that ship with Windows; do not create new plans; for example:
Rename “Balanced” to “<name of OEM> plan”Customize “Balanced” plan settings
Save updated power plans in thedefault store
Allows user to restore the OEM-optimized defaults in Power Optionspowercfg.exe –replacedefaultschemes
Overview of Software Readinessfor Power
Reduce idle processor utilization to reduce power consumptionUse powercfg -energy to measure overall utilizationOptimize using xperf from Windows Performance Tools KitMove background activity to new Windows 7 infrastructure
Highly optimized systems can leverage timer coalescingImproves processor idle state residencyRequires a highly idle system to have effect(for example, <2% processor utilization during idle time)
Background Activity
Change services to trigger-startAllows Windows to start the service on demandHelps reduce the amount of idle resource utilization
Convert periodic tasks to Task SchedulerIdeal for software update services,background scanners
More information available on Windows Hardware Developer Central (WHDC)
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/BackgroundProcs.mspx
Validation: On/Off Transitions
Validation of on/off transition is required during system integration
Boot, shutdown, sleep, resume, hibernate, hybrid sleep
Stress-test sleep, hibernate, and resume transitionsTarget 1,000 consecutive transitions without failureEnable full crash dumps for easier debuggingEnable driver verifier on all drivers; preferred flags are 0xFBB
Focus on mobile scenarios in sleep resume transitionsConnecting to a network after resumesOpening and closing lidDocking and graphics configuration
Validation: Display Brightness
Microsoft has seen display brightness control issueson some mobile PCs
Display remains dim after resume from sleepBrightness configuration suddenly stops workingHotkeys for brightness change no longer operate correctly
Display brightness validation checklist:Brightness control in Mobility Center is functional after resumefrom sleepBrightness changes as expected between AC and DC power statesHotkeys adjust brightness up and down at all timesDisplay automatically dims after a period of inactivityBrightness control is functional after monitor is turned off
Validation: Networking
Microsoft has seen some network connectivity issuesafter power state transitions
Wireless networks cannot be reconnectedSystem locks up on resume from sleep unless Wi-Fi deviceis disabled
Networking validation checklist for power: Ensure network connectivity after the PC resumes from sleepValidate that new Wi-Fi networks can be discovered after resumeTest networking connectivity after sleep and hibernate transitionsEnsure that wake-on-LAN (WoL) functionality works correctlyTest magic packet and basic connectivity scenarios, such as remote desktop
Validation: Power Benchmarking
Compare the pre-installation image to a clean installation
Execute ProcessIdleTasks() API before benchmarkingpwrtest updated to execute API and report progress;use pwrtest -processidl
Ensure that there are no errors in powercfg –energybefore benchmarking
For example, do not measure power on Windows 7 if a USB deviceis not suspending that was on Windows Vista SP1
C:\pwrtest>pwrtest /processidle
Processing idle tasks...Will wait until all tasks are completed...Press 'q' anytime to abort waiting...14:38:58.701: Idle task started: "ProcessIdleTasks callback" in process 77614:43:58.646: Idle task completed: "ProcessIdleTasks callback" in process 77614:43:58.696: Idle task started: "Optimal disk layout" in process 77614:43:58.976: Task started: "\Microsoft\Windows\PerfTrack\BackgroundConfigSurveyor"14:43:58.976: Task ended with success: "\Microsoft\Windows\PerfTrack\BackgroundConfigSurveyor"14:43:59.936: Idle task unregistered: "Optimal disk layout" in process 77614:43:59.936: Idle task stopped: "Optimal disk layout" in process 776Done.
Call to Action
Ensure a great power management experience on your systemsFirmware, devices, drivers, and software
Use Microsoft tools to test and exercise power managementpowercfg -energypwrtestxperf (Windows Performance Tools Kit)
Validate power management behavior in detailFocus on sleep and resume reliabilityValidate device functionality after resume from sleepValidate display brightness, docking, and network device functionality
View these other Windows Summit 2010 presentations:On/Off Scenarios – Common Issues, Recommendations, and Best Practices (SYS-T175)On/Off Scenarios – Performance Analysis and Diagnosis Overview(SYS-T176)
Fill out the evaluation form for this presentation
Resources
Energy Efficiency Portal (WHDC)http://www.microsoft.com/whdc/system/pnppwr/mobilepwr.mspx
ACPI, PnP, Power Management (WHDC)http://www.microsoft.com/whdc/system/pnppwr/default.mspx
Windows Performance Tools Kit (XPerf)http://msdn.microsoft.com/en-us/performance/default.aspx
Mobile Battery Life Solutions Guidehttp://www.microsoft.com/whdc/system/pnppwr/mobile_bat.mspx
Power Policy Configuration and Deployment for Windowshttp://www.microsoft.com/whdc/system/pnppwr/powermgmt/PMpolicy_Windows.mspx
Brightness Control for Integrated Displayshttp://www.microsoft.com/whdc/system/pnppwr/powermgmt/BrightnessCtrl.mspx
Designing Efficient Background Processes for Windowshttp://www.microsoft.com/whdc/system/pnppwr/powermgmt/BackgroundProcs.mspx
Resources (cont.)
Related Windows Summit 2010 presentationsOn/Off Scenarios – Common Issues, Recommendations,and Best Practices (SYS-T175)On/Off Scenarios – Performance Analysis and Diagnosis Overview (SYS-T176)
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation.MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.