https://bugs.freedesktop.org/show_bug.cgi?id=107376
Bug ID: 107376 Summary: Raven: `flush_delayed_work()` takes 500 ms Product: DRI Version: DRI git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: DRM/AMDgpu Assignee: dri-devel@lists.freedesktop.org Reporter: pmenzel+bugs.freedesktop@molgen.mpg.de
Created attachment 140811 --> https://bugs.freedesktop.org/attachment.cgi?id=140811&action=edit 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