kern/53712: drm/DRI broken (out of DMA buffers?) for ATI Radeon 7200
Pierre Beyssac
pb at fasterix.frmug.org
Wed Jun 25 02:20:17 PDT 2003
>Number: 53712
>Category: kern
>Synopsis: drm/DRI broken (out of DMA buffers?) for ATI Radeon 7200
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Jun 25 02:20:15 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Pierre Beyssac
>Release: FreeBSD 5.1-CURRENT i386
>Organization:
none
>Environment:
System: FreeBSD fasterix.frmug.org 5.1-CURRENT FreeBSD 5.1-CURRENT #4: Mon Jun 23 22:10:42 CEST 2003 pb at fasterix.frmug.org:/home/src/sys/i386/compile/ASTERIX i386
-current Kernel and userland as of 2003-06-23, but problem
exists since end April 2003.
XFree server 4.3.0, version 8 of the package.
>Description:
DRI-configured X server starts correctly, then locks up in
a busy loop after some time.
The busy loop involves repeated calls to ioctl(DRM_IOCTL_DMA)
returning nothing but EBUSY. From the code, it seems to
mean that /sys/dev/drm/radeon_cp.c:radeon_freelist_get()
returns NULL pointers.
The busy loop also seems to involve repeated occurences of
SIGALRM, if truss is right.
>How-To-Repeat:
Configure X11 with DRI.
Start X11 server and three or four xterms. Run a ls -lR in
one of them and wait for 10-20 seconds for the problem to
occur. CTRL-C and repeat 2-4 times if necessary.
Or start a textured, GLX 3D rendered application (not
glxgears as it doesn't exhibit the problem) and wait for
about 10 seconds.
Login from another machine and use truss on the XFree86
process to see repeated ioctl calls.
>Fix:
Workaround: disable DRI or use pre-April -current (where
the older drm code didn't exhibit that problem).
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list