[DragonFlyBSD - Bug #3136] Xorg freezes on radeon: Xorg and kernel (ttm swap) in "lwe"

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Wed Mar 20 01:11:43 PDT 2019


Issue #3136 has been updated by peeter.


Closing as this is not relevant any more. The drm and radeon code have changed a fair bit, the issue has not occurred for a while.

----------------------------------------
Bug #3136: Xorg freezes on radeon: Xorg and kernel (ttm swap) in "lwe"
http://bugs.dragonflybsd.org/issues/3136#change-13635

* Author: peeter
* Status: New
* Priority: Normal
* Assignee: 
* Category: Kernel
* Target version: 
----------------------------------------
I've updated the CPU on my desktop from Ryzen 2400G to Ryzen 2600 (gfx card remains Radeon R7 360). Updated master too to the latest and am getting freezes which seem to be related to radeonkms. Xorg freezes but I can still ssh to the machine which runs fine. Tried to find the locked threads. Not sure I succeeded but here's what I found: an Xorg thread and kernel's (ttm swap) are in wchan "lwe", both at radeon_fence_wait_seq_timeout().

Here's kgdb output: 


* thread 1871: kernel (ttm swap)
---
(kgdb) thread 1871
[Switching to thread 1871 (kernel ttm swap)]
#0  0xffffffff80638569 in lwkt_switch () at /usr/src/sys/kern/lwkt_thread.c:810
810		lwkt_switch_return(td->td_switch(ntd));

(kgdb) back
#0  0xffffffff80638569 in lwkt_switch () at /usr/src/sys/kern/lwkt_thread.c:810
#1  0xffffffff80642788 in tsleep (ident=0xfffff80ac8417800, flags=1024, wmesg=<optimized out>, timo=2147483647)
    at /usr/src/sys/kern/kern_synch.c:716
#2  0xffffffff80642e2c in lksleep (ident=ident at entry=0xfffff80ac8417800, lock=lock at entry=0xfffff80ac8417800, 
    flags=flags at entry=0, wmesg=wmesg at entry=0xffffffff830fb7ba "lwe", timo=timo at entry=2147483647)
    at /usr/src/sys/kern/kern_synch.c:827
#3  0xffffffff8301ee85 in radeon_fence_wait_seq_timeout (rdev=0xfffff80ac8416400, 
    target_seq=target_seq at entry=0xfffff80ac846b8b0, intr=<optimized out>, timeout=2147483647)
    at /usr/src/sys/dev/drm/radeon/radeon_fence.c:400
#4  0xffffffff8301efcd in radeon_fence_wait (fence=<optimized out>, intr=<optimized out>)
    at /usr/src/sys/dev/drm/radeon/radeon_fence.c:443
#5  0xffffffff83e0e463 in ttm_bo_cleanup_refs_and_unlock (bo=bo at entry=0xfffff80ae6264718, 
    interruptible=interruptible at entry=false, no_wait_gpu=no_wait_gpu at entry=false)
    at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:656
#6  0xffffffff83e0fc00 in ttm_bo_swapout (shrink=0xfffff8068f00bf28) at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:1886
#7  0xffffffff83e10883 in ttm_shrink (glob=0xfffff80ac51b9208, from_wq=true, extra=0)
    at /usr/src/sys/dev/drm/drm/../ttm/ttm_memory.c:174
#8  0xffffffff80660639 in taskqueue_run (queue=0xfffff8068f469660, lock_held=1) at /usr/src/sys/kern/subr_taskqueue.c:338
#9  0xffffffff806607cd in taskqueue_thread_loop (arg=<optimized out>) at /usr/src/sys/kern/subr_taskqueue.c:498
#10 0xffffffff80635550 in ?? () at /usr/src/sys/kern/lwkt_thread.c:1748
#11 0x0000000000000000 in ?? ()
---


* 445 Xorg pid 741/1
---
(kgdb) thread 445
[Switching to thread 445 (pid 741/1, Xorg)]
#0  0xffffffff80638569 in lwkt_switch () at /usr/src/sys/kern/lwkt_thread.c:810
810		lwkt_switch_return(td->td_switch(ntd));

(kgdb) back
#0  0xffffffff80638569 in lwkt_switch () at /usr/src/sys/kern/lwkt_thread.c:810
#1  0xffffffff806423cd in tsleep (ident=0xfffff80ac8417800, flags=1024, wmesg=<optimized out>, timo=2147483647)
    at /usr/src/sys/kern/kern_synch.c:703
#2  0xffffffff80642e2c in lksleep (ident=ident at entry=0xfffff80ac8417800, lock=lock at entry=0xfffff80ac8417800, 
    flags=flags at entry=0, wmesg=wmesg at entry=0xffffffff830fb7ba "lwe", timo=timo at entry=2147483647)
    at /usr/src/sys/kern/kern_synch.c:827
#3  0xffffffff8301ee85 in radeon_fence_wait_seq_timeout (rdev=0xfffff80ac8416400, 
    target_seq=target_seq at entry=0xfffff80acfa1f118, intr=<optimized out>, timeout=2147483647)
    at /usr/src/sys/dev/drm/radeon/radeon_fence.c:400
#4  0xffffffff8301efcd in radeon_fence_wait (fence=<optimized out>, intr=<optimized out>)
    at /usr/src/sys/dev/drm/radeon/radeon_fence.c:443
#5  0xffffffff83e0e463 in ttm_bo_cleanup_refs_and_unlock (bo=bo at entry=0xfffff80ae6264718, 
    interruptible=interruptible at entry=false, no_wait_gpu=no_wait_gpu at entry=false)
    at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:656
#6  0xffffffff83e0fc00 in ttm_bo_swapout (shrink=0xfffff8068f00bf28) at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:1886
#7  0xffffffff83e10883 in ttm_shrink (glob=glob at entry=0xfffff80ac51b9208, from_wq=from_wq at entry=false, 
    extra=extra at entry=5136) at /usr/src/sys/dev/drm/drm/../ttm/ttm_memory.c:174
#8  0xffffffff83e10f3c in ttm_mem_global_alloc_zone (interruptible=false, no_wait=<optimized out>, memory=4096, 
    single_zone=0x0, glob=0xfffff80ac51b9208) at /usr/src/sys/dev/drm/drm/../ttm/ttm_memory.c:416
#9  ttm_mem_global_alloc_page (glob=glob at entry=0xfffff80ac51b9208, vm_page=<optimized out>, no_wait=no_wait at entry=false, 
    interruptible=interruptible at entry=false) at /usr/src/sys/dev/drm/drm/../ttm/ttm_memory.c:449
#10 0xffffffff83e11f52 in ttm_pool_populate (ttm=ttm at entry=0xfffff806894a7f18)
    at /usr/src/sys/dev/drm/drm/../ttm/ttm_page_alloc.c:853
#11 0xffffffff83031b91 in radeon_ttm_tt_populate (ttm=0xfffff806894a7f18) at /usr/src/sys/dev/drm/radeon/radeon_ttm.c:640
#12 0xffffffff83e0abe0 in ttm_tt_bind (ttm=0xfffff806894a7f18, bo_mem=bo_mem at entry=0xfffff80acfa1f478)
    at /usr/src/sys/dev/drm/drm/../ttm/ttm_tt.c:263
#13 0xffffffff83e0c9df in ttm_bo_handle_move_mem (bo=bo at entry=0xfffff80ac5cbb318, mem=mem at entry=0xfffff80acfa1f478, 
    evict=evict at entry=false, interruptible=interruptible at entry=true, no_wait_gpu=no_wait_gpu at entry=false)
    at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:463
#14 0xffffffff83e0f6ba in ttm_bo_move_buffer (no_wait_gpu=false, interruptible=true, placement=<optimized out>, 
bo=0xfffff80ac5cbb318) at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:1177
#15 ttm_bo_validate (bo=0xfffff80ac5cbb318, placement=<optimized out>, interruptible=<optimized out>, 
    no_wait_gpu=<optimized out>) at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:1233
#16 0xffffffff83e0f9a6 in ttm_bo_init (bdev=bdev at entry=0xfffff80ac8416b68, bo=bo at entry=0xfffff80ac5cbb318, 
    size=size at entry=262144, type=type at entry=ttm_bo_type_device, placement=placement at entry=0xfffff80ac5cbb2f8, 
    page_alignment=page_alignment at entry=1, interruptible=true, persistent_swap_storage=0x0, acc_size=9344, sg=0x0, 
    destroy=0xffffffff8302b400 <radeon_ttm_bo_destroy>) at /usr/src/sys/dev/drm/drm/../ttm/ttm_bo.c:1340
#17 0xffffffff8302b87e in radeon_bo_create (rdev=rdev at entry=0xfffff80ac8416400, size=size at entry=262144, 
    byte_align=byte_align at entry=4096, kernel=kernel at entry=false, domain=domain at entry=2, flags=flags at entry=0, sg=0x0, 
    bo_ptr=0xfffff80acfa1f630) at /usr/src/sys/dev/drm/radeon/radeon_object.c:222
#18 0xffffffff8301fed8 in radeon_gem_object_create (rdev=rdev at entry=0xfffff80ac8416400, size=262144, alignment=4096, 
    initial_domain=2, flags=0, kernel=kernel at entry=false, obj=0xfffff80acfa1f6a0)
    at /usr/src/sys/dev/drm/radeon/radeon_gem.c:75
#19 0xffffffff83020273 in radeon_gem_create_ioctl (dev=<optimized out>, data=0xfffff80acfa1f868, filp=0xfffff80ac6d53420)
    at /usr/src/sys/dev/drm/radeon/radeon_gem.c:260
#20 0xffffffff83df4b53 in drm_ioctl (ap=<optimized out>) at /usr/src/sys/dev/drm/drm/../drm_ioctl.c:717
#21 0xffffffff805fa07c in dev_dioctl (dev=dev at entry=0xfffff8068f41dbc0, cmd=cmd at entry=3223348317, 
    data=data at entry=0xfffff80acfa1f868 "", fflag=<optimized out>, cred=cred at entry=0xfffff80acc2cae10, 
    msg=msg at entry=0xfffff80acfa1f960, fp=0xfffff80ac5bab400) at /usr/src/sys/kern/kern_device.c:245
#22 0xffffffff808abc63 in devfs_fo_ioctl (fp=0xfffff80ac5bab400, com=3223348317, data=0xfffff80acfa1f868 "", 
    ucred=0xfffff80acc2cae10, msg=0xfffff80acfa1f960) at /usr/src/sys/vfs/devfs/devfs_vnops.c:1545
#23 0xffffffff80663233 in fo_ioctl (msg=0xfffff80acfa1f960, cred=0xfffff80acc2cae10, data=0xfffff80acfa1f868 "", 
    com=3223348317, fp=0xfffff80ac5bab400) at /usr/src/sys/sys/file2.h:84
#24 mapped_ioctl (fd=9, com=<optimized out>, uspc_data=0x7fffffdfc9c0 <Address 0x7fffffdfc9c0 out of bounds>, map=0x0, 
    msg=0xfffff80acfa1f960) at /usr/src/sys/kern/sys_generic.c:717
#25 0xffffffff80b3a5d8 in syscall2 (frame=0xfffff80acfa1f9f8) at /usr/src/sys/platform/pc64/x86_64/trap.c:1251
#26 0xffffffff80b18eb0 in ?? () at /usr/src/sys/platform/pc64/x86_64/exception.S:434
#27 0x0000000000000009 in ?? ()
#28 0x00000000c020645d in ?? ()
#29 0x00007fffffdfc9c0 in ?? ()
---

 



-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list