Thread (27 messages) 27 messages, 4 authors, 2016-09-18

Re: [PATCH 3/4] PCI: Avoid unnecessary resume after direct-complete

From: Rafael J. Wysocki <hidden>
Date: 2016-09-14 00:29:12
Also in: linux-acpi, linux-pci

On Wednesday, August 31, 2016 08:15:18 AM Lukas Wunner wrote:
Commit 58a1fbbb2ee8 ("PM / PCI / ACPI: Kick devices that might have been
reset by firmware") added a runtime resume for devices that were runtime
suspended when the system entered sleep.

The motivation was that devices might be in a reset-power-on state after
waking from system sleep, so their power state as perceived by Linux
(stored in pci_dev->current_state) would no longer reflect reality.
By resuming such devices, we allow them to return to a low-power state
via autosuspend and also bring their current_state in sync with reality.
Not only that.

It allows those devices to respond more timely to user space requests
occuring right after resume.

Those user space requests often occur sequentially (read from device A,
write to device B, read from device C, write to device D, for example)
and without that pre-emptive resume each of them needs to wait for another
device to (runtime-)resume which results in quite annoying latencies
observable by users.
However for devices that are *not* in a reset-power-on state, doing an
unconditional resume wastes energy.
It may or may not waste it and this really is a tradeoff.

Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help