-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GPU hang on Cherry Trail #7
Comments
hey there - were you able to capture a core from this panic? if so it may be helpful to post the full backtrace in this issue. |
Sorry no core. A second after this output the system automatically reboots and no core or anything remains.. |
I could get a core. It seems you need a swap partition for that.. Since i run on USB memory I deactivated swap...
|
Please try the latest. |
Got a bit further this time.
|
It looks like it may be trying to use clflushopt on an unsupported processor. Can you try the latest and see if it works? If not I'll just use clflush. Thanks. |
Hardly shippable, but this is definitely progress. |
It actually renders something when I start X but the screen content is all messed up.. Like tiles repeating in X and Y. |
What does the log show if you set dev.drm.drm_debug=-1 (after loading i915kms) before starting X? |
Here's the log. From boot to kldload i915kms and start/stop X a couple of times. |
This is returning EIO. I'll have to dig in to which path is doing that.
|
I will add some printf's and test. |
Ok. I get the many returns at |
Which one though?
|
|
|
Maybe try and instrument this to make sure we're actually waiting for 500ms here?
|
I get "reset in progress". What API can I use to time a function in a kernel driver? |
from sys/time.h:
This is purely for instrumentation so I think the added overhead of the extra resolution is ok. |
I don't get any output at all from gen6_do_reset()... |
Getting -5 from intel_gpu_reset(). Btw, isn't cherryview gen8? Have to stop now but can keep digging tomorrow. |
Try sticking a BACKTRACE() in each of the reset functions to see which is getting called. |
gen6_do_reset is called from gen8_do_reset |
I'm on #freebsd-xorg on EFnet much of the time. Easier to discuss in real-time. |
reset request timeouts so gen6_do_reset never gets called..
|
Where though? |
Not sure what this means but at the second ring reset fails. [drm:i915_reset_and_wakeup] resetting chip |
I'm on IRC btw. |
nick? I'm on #freebsd-xorg on Efnet. |
Please file a separate issue for any further problems. |
Drop scan generation number and node table scan lock - the only place where ni_scangen is checked is in ieee80211_timeout_stations() (and it is used to prevent duplicate checking of the same node); node scan lock protects only this variable + node table scan generation number. This will fix (at least) next LOR (hostap mode): lock order reversal: 1st 0xc175f84c urtwm0_scan_loc (urtwm0_scan_loc) @ /usr/src/sys/modules/wlan/../../net80211/ieee80211_node.c:2019 2nd 0xc175e018 urtwm0_com_lock (urtwm0_com_lock) @ /usr/src/sys/modules/wlan/../../net80211/ieee80211_node.c:2693 stack backtrace: #0 0xa070d1c5 at witness_debugger+0x75 #1 0xa070d0f6 at witness_checkorder+0xd46 #2 0xa0694cce at __mtx_lock_flags+0x9e #3 0xb03ad9ef at ieee80211_node_leave+0x12f #4 0xb03afd13 at ieee80211_timeout_stations+0x483 #5 0xb03aa1c2 at ieee80211_node_timeout+0x42 #6 0xa06c6fa1 at softclock_call_cc+0x1e1 #7 0xa06c7518 at softclock+0xc8 #8 0xa06789ae at intr_event_execute_handlers+0x8e #9 0xa0678fa0 at ithread_loop+0x90 #10 0xa0675fbe at fork_exit+0x7e #11 0xa08af910 at fork_trampoline+0x8 In addition to the above: * switch to ieee80211_iterate_nodes(); * do not assert that node table lock is held, while calling node_age(); that's not really needed (there are no resources, which can be protected by this lock) + this fixes LOR/deadlock between ieee80211_timeout_stations() and ieee80211_set_tim() (easy to reproduce in HOSTAP mode while sending something to an STA with enabled power management). Tested: * (avos) urtwn0, hostap mode * (adrian) AR9380, STA mode * (adrian) AR9380, AR9331, AR9580, hostap mode Notes: * This changes the net80211 internals, so you have to recompile all of it and the wifi drivers. Submitted by: avos Approved by: re (delphij) Differential Revision: https://reviews.freebsd.org/D6833
Update mountd
The text was updated successfully, but these errors were encountered: