]> git.ipfire.org Git - thirdparty/linux.git/commit
PM: sleep: Suspend async parents after suspending children
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 14 Mar 2025 13:13:53 +0000 (14:13 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 22 Apr 2025 11:57:00 +0000 (13:57 +0200)
commitaa7a9275ab814705b60ba8274277d91da6ab6122
treeec7384975f460604a2be4c4a2305b184691d868a
parent0cbef962ce1ff344ecfe32d1c874978f1f7d410a
PM: sleep: Suspend async parents after suspending children

In analogy with the previous change affecting the resume path,
make device_suspend() start the async suspend of the device's parent
after the device itself has been processed and make dpm_suspend() start
processing "async" leaf devices (that is, devices without children)
upfront so they don't need to wait for the "sync" devices they don't
depend on.

On the Dell XPS13 9360 in my office, this change reduces the total
duration of device suspend by approximately 100 ms (over 20%).

Suggested-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/3541233.QJadu78ljV@rjwysocki.net
drivers/base/power/main.c