Google Posts Patches Further Speeding Up Linux Async Device Suspend & Resume
([Linux Kernel] 4 Hours Ago
Faster Async Suspend/Resume)
- Reference: 0001505982
- News link: https://www.phoronix.com/news/Faster-Async-Suspend-Resume
- Source link:
Google engineer Saravana Kannan has posted a set of patches to better optimize async device suspend and resume handling within the Linux kernel. With thesep atches there are "significant improvements" to async device suspend/resume with testing being done on a Google Pixel 6 smartphone but other devices stand to benefit too.
Kannan explained in the new [1]patch series :
"You can remove a lot of the overhead by doing a breadth first queuing of async suspend/resumes. That's what this patch series does. I also noticed that during resume, because of EAS, we don't use the bigger CPUs as quickly. This was leading to a lot of scheduling latency and preemption of runnable threads and increasing the resume latency. So, we also disable EAS for that tiny period of resume where we know there'll be a lot of parallelism.
On a Pixel 6, averaging over 100 suspend/resume cycles, this patch series yields significant improvements."
Indeed the results shared some a nice improvement to both the suspend and resume times:
There is also [2]an LPC 2024 presentation by Saravana Kannan on this async suspend/resume optimization work. Saravana also notes there still is room for further suspend/resume performance optimization work that will be pursued, assuming these current patches make it into the upstream Linux kernel.
[1] https://lore.kernel.org/lkml/20241114220921.2529905-1-saravanak@google.com/
[2] https://lpc.events/event/18/contributions/1845/
Kannan explained in the new [1]patch series :
"You can remove a lot of the overhead by doing a breadth first queuing of async suspend/resumes. That's what this patch series does. I also noticed that during resume, because of EAS, we don't use the bigger CPUs as quickly. This was leading to a lot of scheduling latency and preemption of runnable threads and increasing the resume latency. So, we also disable EAS for that tiny period of resume where we know there'll be a lot of parallelism.
On a Pixel 6, averaging over 100 suspend/resume cycles, this patch series yields significant improvements."
Indeed the results shared some a nice improvement to both the suspend and resume times:
There is also [2]an LPC 2024 presentation by Saravana Kannan on this async suspend/resume optimization work. Saravana also notes there still is room for further suspend/resume performance optimization work that will be pursued, assuming these current patches make it into the upstream Linux kernel.
[1] https://lore.kernel.org/lkml/20241114220921.2529905-1-saravanak@google.com/
[2] https://lpc.events/event/18/contributions/1845/
phoronix