Raven: `flush_delayed_work()` takes 500 ms
Submitted by Paul Menzel
Assigned to Default DRI bug account
Link to original bug (#107376)
Description
Created attachment 140811
HTML output of sudo ./sleepgraph.py -config config/suspend-callgraph.cfg
(devicelist: amdgpu, maxdepth: 12)
Created attachment 140810 [details]
HTML output of sudo ./sleepgraph.py -config config/suspend-callgraph.cfg
(devicelist: amdgpu, maxdepth: 12)
Profiling the suspend and resume time [1] on a MSI B350M MORTAR (MS-7A37) with AMD Ryzen 3 2200G with Radeon Vega Graphics with Linux 4.18-rc6+ and amd-staging-drm-next [2], pci_pm_suspend()
takes over one second, which is too long [3], cf. bug 107278 [3].
This is spent in amdgpu_device_ip_resume_phase2()
, where 505 ms are spent in flush_delayed_work()
.
• flush_delayed_work (505.026 ms @ 98.640854)
[…]
• flush_work (505.017 ms @ 98.640863)
[…]
• wait_for_completion (504.985 ms @ 98.640894)
[…]
• schedule_timeout (504.963 ms @ 98.640914)
[…]
• schedule (504.963 ms @ 98.640914)
[1]: https://01.org/suspendresume
[2]: https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next
[3]: https://bugs.freedesktop.org/show_bug.cgi?id=107278
Attachment 140811, "HTML output of sudo ./sleepgraph.py -config config/suspend-callgraph.cfg
(devicelist: amdgpu, maxdepth: 12)":
tokeiihto_mem.html