If there are hierarchical power domains in the system, it may take a relatively long time to resume an I/O device after it has been put into a low-power state. Therefore, to use runtime power management (runtime PM) and keep the system responsive at the same time, one has to specify constraints on the deepest low-power states to put devices into. Such constraints may be provided through the mechanism called Power Management Quality of Service (PM QoS). I will show how it works for I/O devices in the Linux kernel and how the generic power management domains (PM domains) framework uses it to prevent I/O devices from going into deep low-power states when that is not desirable.
The target audience of the talk are kernel developers and people interested in runtime PM of I/O devices. The participants should be familiar with the Linux driver model and the runtime PM core framework.