Bug 53712

Summary: drm/DRI broken (out of DMA buffers?) for ATI Radeon 7200
Product: Base System Reporter: Pierre Beyssac <pb>
Component: kernAssignee: Eric Anholt <anholt>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.1-CURRENT   
Hardware: Any   
OS: Any   

Description Pierre Beyssac 2003-06-25 10:20:15 UTC
	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.

Fix: 

Workaround: disable DRI or use pre-April -current (where
	the older drm code didn't exhibit that problem).
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.
Comment 1 Kris Kennaway freebsd_committer freebsd_triage 2003-07-18 23:14:16 UTC
Responsible Changed
From-To: freebsd-bugs->anholt

Assign to drm maintainer
Comment 2 Eric Anholt 2003-10-20 04:38:21 UTC
Please try the DRM from DRI CVS.  The locking stuff I just committed may
deal with this.  See the following link for instructions.
http://dri.sf.net/cgi-bin/moin.cgi/CVS
 
Check out trunk then:
cd xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel
ln -s ../../../shared/drm/kernel/*.[ch] ./
make -f Makefile.bsd depend all install
 
Now reload the DRM and try to reproduce it.  Note that sysctl hw.dri may
be unsafe in low-memory situations, but I'm working on the fix for that
at the moment.

-- 
Eric Anholt                                eta@lclark.edu          
http://people.freebsd.org/~anholt/         anholt@FreeBSD.org
Comment 3 Eric Anholt freebsd_committer freebsd_triage 2003-10-20 04:40:49 UTC
State Changed
From-To: open->feedback

Waiting for feedback.
Comment 4 Eric Anholt 2003-10-24 03:10:23 UTC
Scratch that, the latest code is now in FreeBSD CVS, too.  Just upgrade and try again.

-- 
Eric Anholt                                eta@lclark.edu          
http://people.freebsd.org/~anholt/         anholt@FreeBSD.org
Comment 5 Eric Anholt freebsd_committer freebsd_triage 2003-11-17 23:04:44 UTC
State Changed
From-To: feedback->closed

Feedback timeout, and I think it's fixed anyway.
Comment 6 Pierre Beyssac 2003-11-17 23:20:15 UTC
On Mon, Nov 17, 2003 at 03:17:33PM -0800, Eric Anholt wrote:
> Synopsis: drm/DRI broken (out of DMA buffers?) for ATI Radeon 7200
> 
> State-Changed-From-To: feedback->closed
> State-Changed-By: anholt
> State-Changed-When: Mon Nov 17 15:04:44 PST 2003
> State-Changed-Why: 
> Feedback timeout, and I think it's fixed anyway.

Well, I tried to reproduce the problem and it didn't show up in a
long while, so I guess that's okay.
-- 
Pierre Beyssac	      	    pb@fasterix.frmug.org pb@fasterix.freenix.org
    Free domains: http://www.eu.org/ or mail dns-manager@EU.org