Mike Lothian
2018-Feb-12 09:03 UTC
[Nouveau] [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
On 12 February 2018 at 03:39, Lukas Wunner <lukas at wunner.de> wrote:> On Mon, Feb 12, 2018 at 12:35:51AM +0000, Mike Lothian wrote: >> I've not been able to reproduce the original problem you're trying to >> solve on amdgpu thats with or without your patch set and the above >> "trigger" too >> >> Is anything else required to trigger it, I started multiple DRI_PRIME >> glxgears, in parallel, serial waiting the 12 seconds and serial within >> the 12 seconds and I couldn't reproduce it > > The discrete GPU needs to runtime suspend, that's the trigger, > so no DRI_PRIME executables should be running. Just let it > autosuspend after boot. Do you see "waiting 12 sec" messages > in dmesg? If not it's not autosuspending. > > Thanks, > > LukasHi Yes I'm seeing those messages, I'm just not seeing the hangs I've attached the dmesg in case you're interested Regards Mike -------------- next part -------------- A non-text attachment was scrubbed... Name: dmesg.nohangs Type: application/octet-stream Size: 89715 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20180212/024f54e1/attachment-0001.obj>
Lukas Wunner
2018-Feb-12 09:45 UTC
[Nouveau] [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
On Mon, Feb 12, 2018 at 09:03:26AM +0000, Mike Lothian wrote:> On 12 February 2018 at 03:39, Lukas Wunner <lukas at wunner.de> wrote: > > On Mon, Feb 12, 2018 at 12:35:51AM +0000, Mike Lothian wrote: > > > I've not been able to reproduce the original problem you're trying to > > > solve on amdgpu thats with or without your patch set and the above > > > "trigger" too > > > > > > Is anything else required to trigger it, I started multiple DRI_PRIME > > > glxgears, in parallel, serial waiting the 12 seconds and serial within > > > the 12 seconds and I couldn't reproduce it > > > > The discrete GPU needs to runtime suspend, that's the trigger, > > so no DRI_PRIME executables should be running. Just let it > > autosuspend after boot. Do you see "waiting 12 sec" messages > > in dmesg? If not it's not autosuspending. > > Yes I'm seeing those messages, I'm just not seeing the hangs > > I've attached the dmesg in case you're interestedOkay the reason you're not seeing deadlocks is because the output poll worker is not enabled. And the output poll worker is not enabled because your discrete GPU doesn't have any outputs: [ 0.265568] [drm:dc_create] *ERROR* DC: Number of connectors is zero! The outputs are only polled if there are connectors which have the DRM_CONNECTOR_POLL_CONNECT or DRM_CONNECTOR_POLL_DISCONNECT flag set. And that only ever seems to be the case for VGA and DVI. We know based on bugzilla reports that hybrid graphics laptops do exist which poll outputs with radeon and nouveau. If there are no laptops supported by amdgpu whose discrete GPU has polled connectors, then patch [5/5] would be unnecessary. That is for Alex to decide. However that is very good to know, so thanks a lot for your testing efforts, much appreciated! Kind regards, Lukas
Alex Deucher
2018-Feb-12 18:58 UTC
[Nouveau] [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
On Mon, Feb 12, 2018 at 4:45 AM, Lukas Wunner <lukas at wunner.de> wrote:> On Mon, Feb 12, 2018 at 09:03:26AM +0000, Mike Lothian wrote: >> On 12 February 2018 at 03:39, Lukas Wunner <lukas at wunner.de> wrote: >> > On Mon, Feb 12, 2018 at 12:35:51AM +0000, Mike Lothian wrote: >> > > I've not been able to reproduce the original problem you're trying to >> > > solve on amdgpu thats with or without your patch set and the above >> > > "trigger" too >> > > >> > > Is anything else required to trigger it, I started multiple DRI_PRIME >> > > glxgears, in parallel, serial waiting the 12 seconds and serial within >> > > the 12 seconds and I couldn't reproduce it >> > >> > The discrete GPU needs to runtime suspend, that's the trigger, >> > so no DRI_PRIME executables should be running. Just let it >> > autosuspend after boot. Do you see "waiting 12 sec" messages >> > in dmesg? If not it's not autosuspending. >> >> Yes I'm seeing those messages, I'm just not seeing the hangs >> >> I've attached the dmesg in case you're interested > > Okay the reason you're not seeing deadlocks is because the output poll > worker is not enabled. And the output poll worker is not enabled > because your discrete GPU doesn't have any outputs: > > [ 0.265568] [drm:dc_create] *ERROR* DC: Number of connectors is zero! > > The outputs are only polled if there are connectors which have the > DRM_CONNECTOR_POLL_CONNECT or DRM_CONNECTOR_POLL_DISCONNECT flag set. > And that only ever seems to be the case for VGA and DVI. > > We know based on bugzilla reports that hybrid graphics laptops do exist > which poll outputs with radeon and nouveau. If there are no laptops > supported by amdgpu whose discrete GPU has polled connectors, then > patch [5/5] would be unnecessary. That is for Alex to decide.Most hybrid laptops don't have display connectors on the dGPU and we only use polling on analog connectors, so you are not likely to run into this on recent laptops. That said, I don't know if there is some OEM system out there with a VGA port on the dGPU in a hybrid laptop. I guess another option is to just disable polling on hybrid laptops. Alex> > However that is very good to know, so thanks a lot for your testing > efforts, much appreciated! > > Kind regards, > > Lukas > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Possibly Parallel Threads
- [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
- [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
- [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
- [PATCH 0/5] Fix deadlock on runtime suspend in DRM drivers
- [PATCH v2 0/7] Modernize vga_switcheroo by using device link for HDA