Thread (15 messages) 15 messages, 5 authors, 2017-03-20

Re: Radeon driver hang with 4.9.0-rt

From: Daniel Vidal <hidden>
Date: 2017-02-26 11:55:04

Hi

The radeon driver hangs from 3.16 kernel.

RT patch for radeon driver only disable ( preempt_disable_rt() ) and
reenable ( preempt_enable_rt() ) the whole RT in file radeon_display.c

Obviously this is not enough.

I think the radeon developers should make some modification in the
driver but I do not know which is the right place to indicate it

Here my backtrace.

(sorry for my english)


Feb 25 22:24:34 musix64-v3 kernel: [31679.556374] chromium        D
0000000000000002     0  1487   1466 0x00000000
Feb 25 22:24:34 musix64-v3 kernel: [31679.556379]  ffff88008c0e7a20
ffff88004ff55780 ffff8800cfb1e400 00000000000000fd
Feb 25 22:24:34 musix64-v3 kernel: [31679.556382]  0000000000000001
ffff88008c0e8000 0000000000000000 0000000000000002
Feb 25 22:24:34 musix64-v3 kernel: [31679.556384]  ffff88008c0e7ac0
0000000000000002 ffff8800cfb1e400 ffffffff814dc07e
Feb 25 22:24:34 musix64-v3 kernel: [31679.556387] Call Trace:
Feb 25 22:24:34 musix64-v3 kernel: [31679.556393]
[<ffffffff814dc07e>] ? schedule+0x3e/0xc0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556396]
[<ffffffff814dd825>] ? __rt_mutex_slowlock+0x95/0x160
Feb 25 22:24:34 musix64-v3 kernel: [31679.556399]
[<ffffffff814ddde3>] ? rt_mutex_slowlock+0xf3/0x260
Feb 25 22:24:34 musix64-v3 kernel: [31679.556401]
[<ffffffff810584dd>] ? unpin_current_cpu+0xd/0x60
Feb 25 22:24:34 musix64-v3 kernel: [31679.556405]
[<ffffffff8109b01f>] ? rt__down_read+0x1f/0x30
Feb 25 22:24:34 musix64-v3 kernel: [31679.556426]
[<ffffffffa035be37>] ? radeon_cs_ioctl+0x27/0x780 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556429]
[<ffffffff81003427>] ? __switch_to+0x27/0x580
Feb 25 22:24:34 musix64-v3 kernel: [31679.556431]
[<ffffffff814def2e>] ? _raw_spin_unlock_irq+0xe/0x50
Feb 25 22:24:34 musix64-v3 kernel: [31679.556434]
[<ffffffff8107cd98>] ? finish_task_switch+0x88/0x220
Feb 25 22:24:34 musix64-v3 kernel: [31679.556436]
[<ffffffff814db91d>] ? __schedule+0x2bd/0x9e0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556438]
[<ffffffff814dc088>] ? schedule+0x48/0xc0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556440]
[<ffffffff810ccca7>] ? futex_wait_queue_me+0xc7/0x130
Feb 25 22:24:34 musix64-v3 kernel: [31679.556442]
[<ffffffff810ce080>] ? futex_wait+0x210/0x230
Feb 25 22:24:34 musix64-v3 kernel: [31679.556445]
[<ffffffff810cca71>] ? get_futex_key+0x201/0x230
Feb 25 22:24:34 musix64-v3 kernel: [31679.556447]
[<ffffffff8107f574>] ? check_preempt_curr+0x74/0x80
Feb 25 22:24:34 musix64-v3 kernel: [31679.556454]
[<ffffffffa02cf2fe>] ? drm_ioctl+0x10e/0x460 [drm]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556467]
[<ffffffffa035be10>] ? radeon_cs_parser_init+0x480/0x480 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556471]
[<ffffffff810584dd>] ? unpin_current_cpu+0xd/0x60
Feb 25 22:24:34 musix64-v3 kernel: [31679.556481]
[<ffffffffa0328041>] ? radeon_drm_ioctl+0x41/0x70 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556484]
[<ffffffff811a8d4f>] ? do_vfs_ioctl+0x2bf/0x4a0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556487]
[<ffffffff811b24cb>] ? __fget+0x6b/0xb0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556489]
[<ffffffff811a8fa1>] ? SyS_ioctl+0x71/0x80
Feb 25 22:24:34 musix64-v3 kernel: [31679.556491]
[<ffffffff814df597>] ? entry_SYSCALL_64_fastpath+0x12/0x6a
Feb 25 22:24:34 musix64-v3 kernel: [31679.556501] INFO: task
kworker/u12:0:7008 blocked for more than 120 seconds.
Feb 25 22:24:34 musix64-v3 kernel: [31679.556503]       Not tainted
4.4.47-rt59 #1
Feb 25 22:24:34 musix64-v3 kernel: [31679.556504] "echo 0 >
/proc/sys/kernel/hung_task_timeout_secs" disables this message.
Feb 25 22:24:34 musix64-v3 kernel: [31679.556505] kworker/u12:0   D
ffff88011b6e5980     0  7008      2 0x00000000
Feb 25 22:24:34 musix64-v3 kernel: [31679.556520] Workqueue:
radeon-crtc radeon_flip_work_func [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556522]  ffff8800a92dbc38
ffff8800a5f72580 ffff88004ff55780 0000000000000000
Feb 25 22:24:34 musix64-v3 kernel: [31679.556524]  ffff88000011cfc8
ffff8800a92dc000 ffff88000011c000 ffff88000011d6d8
Feb 25 22:24:34 musix64-v3 kernel: [31679.556527]  ffff8800a92dbd18
0000000000000008 ffff88004ff55780 ffffffff814dc07e
Feb 25 22:24:34 musix64-v3 kernel: [31679.556529] Call Trace:
Feb 25 22:24:34 musix64-v3 kernel: [31679.556531]
[<ffffffff814dc07e>] ? schedule+0x3e/0xc0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556534]
[<ffffffff814de417>] ? schedule_timeout+0x177/0x320
Feb 25 22:24:34 musix64-v3 kernel: [31679.556545]
[<ffffffffa0342925>] ? radeon_fence_activity+0xf5/0x160 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556547]
[<ffffffff81058364>] ? pin_current_cpu+0x84/0x1f0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556558]
[<ffffffffa0342f69>] ? radeon_fence_process+0x9/0x30 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556570]
[<ffffffffa03432a8>] ?
radeon_fence_wait_seq_timeout.constprop.8+0x2a8/0x380 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556572]
[<ffffffff81095220>] ? wait_woken+0x80/0x80
Feb 25 22:24:34 musix64-v3 kernel: [31679.556584]
[<ffffffffa0343624>] ? radeon_fence_wait+0x74/0xb0 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556596]
[<ffffffffa0353b55>] ? radeon_flip_work_func+0x255/0x310 [radeon]
Feb 25 22:24:34 musix64-v3 kernel: [31679.556598]
[<ffffffff8107cd98>] ? finish_task_switch+0x88/0x220
Feb 25 22:24:34 musix64-v3 kernel: [31679.556601]
[<ffffffff8107027f>] ? process_one_work+0x14f/0x480
Feb 25 22:24:34 musix64-v3 kernel: [31679.556603]
[<ffffffff81070610>] ? worker_thread+0x60/0x4b0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556605]
[<ffffffff810705b0>] ? process_one_work+0x480/0x480
Feb 25 22:24:34 musix64-v3 kernel: [31679.556608]
[<ffffffff810759ca>] ? kthread+0xca/0xe0
Feb 25 22:24:34 musix64-v3 kernel: [31679.556610]
[<ffffffff81075900>] ? kthread_worker_fn+0x190/0x190
Feb 25 22:24:34 musix64-v3 kernel: [31679.556613]
[<ffffffff814df8df>] ? ret_from_fork+0x3f/0x70
Feb 25 22:24:34 musix64-v3 kernel: [31679.556615]
[<ffffffff81075900>] ? kthread_worker_fn+0x190/0x190

2017-02-24 23:09 GMT+01:00 Wargreen [off-list ref]:
Thank you for your reply.
quoted
It looks like some other task holding the mutex resulting
these tasks to sleep and hung the system.

One step to debug this is to find out which task is holding
the mutex and for how long? Taking crash of hung system
and see whats going on is one way but a harsh one
Because my bad english and my light technical background, i don't
understand how can i find this task.
Can you guide me ?
quoted
Another step is start with version where it was working before?
and try to bisect or narrow down.
From memory, it's happen with 4.0.4, 4.1.3 and 4.9.0, on two computers
(both with intel CPU). So i don't know if it was worked one day.
quoted
Others might have better ideas.
I take all ideas !
It's my workstation (as well as my all-day computer) for real time audio
processing so i'm open to alls test who can fix this problem.

Is it the best place, or i should also post on the radeon mailing ?
quoted
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help