Summary: | Linux 4.2 DisplayPort MST deadlock? | ||
---|---|---|---|
Product: | DRI | Reporter: | Adam J. Richter <adam_richter2004> |
Component: | General | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | nkim, sandeep |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Adam J. Richter
2015-09-15 02:20:39 UTC
Created attachment 118304 [details] [review] don't send hotplug for input ports. this might help, it'll at least decrease things. Created attachment 118305 [details] [review] cleanup ports better, and hotplug in a different place. actually this is a more comprehensive version. Created attachment 118306 [details]
dmesg log of some apparent delays, but not the deadlock, from kernel booted with "drm.debug=6 loglevel=7"
I have been asked to try attach a dmesg log of this problem with the kernel booted with a "drm.debug=6" kernel command line argument. The exact problem that produced this interesting stack trace is difficult to reproduce, but long waits when doing "xrandr --current" and other misbehavior happen frequently and I suspect may be related to this mutex contention. In this case, "xarndr" takes a long time to run, examination of /proc/<x-server-pid>/stack shows that the X server seems to be usually requesting new EDID data via DisplayPort MST, and, in this particular instance, the end result was the one of the two screens connected to the DisplayPort MST hub is not showing any video (and "xrandr" does not seem to see its EDID information either).
I apologize if this attachment is essentially spam for a bug that might be completely separate from the issue for which I opened this ticket. I am posting it just on the chance that it might be relevant (and also because it as close as I think I'll get today to fulfilling the request to get a drm.debug=6 dmesg log of the original problem.
Hi, Dave. I have tried the patch you attached to this bug report on 2015-09-16 on a couple of different systems with Linux 4.3-rc2, and confirm that I have so far not seen any DP-MST related kernel null pointer dereferences. I do see such oopses on Linux-4.3-rc2 without your patch. So, I would encourage you to send it or something similar upstream if you have not done so already. By the way, just to warn you that not everything is perfect, I still see apparently invalid video from one of two DP-MST hubs that I have been using with 4.3-rc2 + your patch, but that is outside the scope of this freedesktop.org bug report. So, I expect to test a little more and close this bug as "resolved" once your patch or the equivalent appears in a mainline Linux release candidate. Thank you very much for your help! The patch that Dave Airlie posted to this bug on 2015-09-16 is in Linux-4.3-rc3. I have tried Linux 4.3-rc3, and do not see any kernel memory null pointer dereferences. So, I am changing the status of this ticket to "RESOLVED FIXED". Thank you very much for all of your help, Dave. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.