Resume Devices Duration

Most Applicable to: Driver developers

Relevant Assessments:

  • Boot Performance (Fast Startup)
  • Standby Performance
  • Hibernate Performance

During shutdown/suspend, every device driver is sent a power (IRP_MJ_POWER) IRP that has an IRP_MN_SET_POWER minor code and working power state. Device drivers subsequently send Device Power IRPs to corresponding devices. This metric measures the time for all drivers to process the set power IRP.

Note

Drivers should not retain the System Power IRP during this phase. Each driver can delay system startup by not promptly handling the system power IRP.

Detailed Sub-metrics

When the metric is expanded, a more detailed phase view is presented with a list of devices and their corresponding durations.

Typical Influencing Factors

This metric captures the cumulative time that all drivers take to respond to an IRP_MN_SET_POWER power request. This metric can be affected by a single driver that takes too much time, in addition to the cumulative time of all driver responses.

Note

If a driver owns a power policy for a device, it generates a Device Power IRP in response to receiving a System Power IRP. Drivers should not wait to complete the System IRP until the Device IRP is completed because that wait can prevent other devices from receiving their System IRPs. This series of waits cause serialization delays and increases the overall suspend time.

Analysis and Remediation Steps

You can identify a driver or drivers that significantly impact this metric by looking at the sub-metrics. Long delays in the driver responses usually produce issues that are specific to a given driver. When such an issue is generated, follow the link inside the issue to see advanced issue details. When an issue is not generated, subsequent analysis in WPA is required; this is beyond the scope of this document. See Best Practices for Time-Critical Tasks in the Results for the On/Off Assessments topic.

Note

During ADK testing of certain Shared Graphics Power Component (SGPC) – HDMI enabled systems, the audio codec driver details are not listed in the test result. This is an expected result. This is because the SGPC based audio codec drivers do not receive a IRP_MN_SET_POWER notification during the resume wake. The SGPC HDMI codecs are instead removed when the display is turned off, and re-enumerated when the display is turned back on.

Additional Information

MSDN: IRP_MN_SET_POWER