I'm running an rx460 using the amdgpu driver from Linux 4.8 with Mesa 13/LLVM 
3.9 and Xorg 1.18 on FreeBSD. It seems to largely perform pretty well. 

However, ever since I got Mesa working I will inevitably end up losing 
completion interrupts after X has been running for a brief period. I can bring 
the problem on more quickly by running glxgears with vblank_mode=0. It's a safe 
bet that the problem with the linuxkpi. However, since this bug is manifesting 
itself in a very hardware specific way I'm coming here for advice on what I can 
do to dump device state to better understand why it ceases to fire interrupts.

I enabled FENCE_TRACE and added some logging to fence creation and 
fence_default_wait as well. The last interrupt in this particular excerpt is:

"Dec 22 22:36:22 daleks kernel: fence at 210850477167 f 0#233745: signaled from 
irq context"

amdgpu_cs_wait goes on to sleep on 411#116530 and never wake up. Any guidance 
would be much appreciated. Thanks in advance.




Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100793, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] 
Dec 22 22:36:22 daleks kernel: &fence->scheduled at 210850212762 f 86#116944: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: pid=100699, dev=0xe200, auth=1, AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] [drm:drm_ioctl] 
pid=100793, dev=0xe200, auth=1, AMDGPU_CS
Dec 22 22:36:22 daleks kernel: amdgpu_ih_process: rptr 864, wptr 880
Dec 22 22:36:22 daleks kernel: [drm:gfx_v8_0_eop_irq] IH: CP EOP
Dec 22 22:36:22 daleks kernel: &fence->finished at 210850251259 f 411#116528: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: fence at 210850253222 f 0#233742: signaled from 
irq context
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] amdgpu_ih_process: rptr 
880, wptr 880
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] created fence 410#116529 
411#116529 @210850271550 
Dec 22 22:36:22 daleks kernel: amdgpu_ih_process: rptr 880, wptr 896
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] [drm:gfx_v8_0_eop_irq] 
pid=100793, dev=0xe200, auth=1, AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: IH: CP EOP
Dec 22 22:36:22 daleks kernel: &fence->finished at 210850308909 f 87#116944: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: fence at 210850310670 f 0#233743: signaled from 
irq context
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] amdgpu_ih_process: rptr 
896, wptr 896
Dec 22 22:36:22 daleks kernel: &fence->scheduled at 210850325151 f 410#116529: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_CS
Dec 22 22:36:22 daleks kernel: created fence 86#116945 87#116945 @210850375328 
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100793, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] 
Dec 22 22:36:22 daleks kernel: &fence->scheduled at 210850389385 f 86#116945: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] pid=100699, dev=0xe200, 
auth=1, AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] amdgpu_ih_process: rptr 896, 
wptr 912
Dec 22 22:36:22 daleks kernel: [drm:gfx_v8_0_eop_irq] IH: CP EOP
Dec 22 22:36:22 daleks kernel: &fence->finished at 210850416620 f 411#116529: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: fence at 210850418382 f 0#233744: signaled from 
irq context
Dec 22 22:36:22 daleks kernel: pid=100793, dev=0xe200, auth=1, AMDGPU_CS
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] created fence 410#116530 
411#116530 @210850440720 
Dec 22 22:36:22 daleks kernel: amdgpu_ih_process: rptr 912, wptr 912
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] [drm:amdgpu_ih_process] 
amdgpu_ih_process: rptr 912, wptr 928
Dec 22 22:36:22 daleks kernel: [drm:gfx_v8_0_eop_irq] IH: CP EOP
Dec 22 22:36:22 daleks kernel: &fence->finished at 210850475397 f 87#116945: 
signaled from irq context
Dec 22 22:36:22 daleks kernel: fence at 210850477167 f 0#233745: signaled from 
irq context
Dec 22 22:36:22 daleks kernel: pid=100793, dev=0xe200, auth=1, AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:amdgpu_ih_process] amdgpu_ih_process: rptr 
928, wptr 928
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_CS
Dec 22 22:36:22 daleks kernel: created fence 86#116946 87#116946 @210850557790 
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100793, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100793, dev=0xe200, auth=1, 
AMDGPU_CS
Dec 22 22:36:22 daleks kernel: created fence 410#116531 411#116531 
@210850614023 
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100793, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100699, dev=0xe200, auth=1, 
AMDGPU_CS
Dec 22 22:36:22 daleks kernel: created fence 86#116947 87#116947 @210850719230 
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] pid=100793, dev=0xe200, auth=1, 
AMDGPU_WAIT_CS
Dec 22 22:36:22 daleks kernel: [drm:drm_ioctl] amdgpu_cs_wait on 411#116530 
Dec 22 22:36:22 daleks kernel: pid=100699, dev=0xe200, auth=1, AMDGPU_BO_LIST
Dec 22 22:36:22 daleks kernel: 411#116530 sleeping tid 100793 at 210850747487


-M

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to