hardware select energy efficient hardware, such as usb devices that support selective suspend...

26

Upload: rose-riley

Post on 05-Jan-2016

217 views

Category:

Documents


2 download

TRANSCRIPT

Getting the MostOut of Your Battery

Aaron TaoProgram ManagerMicrosoft Corporation

Agenda

Power management readinessFirmwareDevice driversPower policy configurationPre-installation software

Validation scenariosCall to actionResources

Objective

Understand best practices for developing energy efficient platforms for Windows 7

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.