Hi!
I have Radeon8500LE 128MB AGP successfully running under Fedora Rawhide and DRI 
is working, but I 
tried Doom3 and it freezes at loading screen.
I understand that priorities may have shifted to get R5xx-R7xx cards into 3D, 
but until new DRI/DRM 
bits arrives, this issue probably affects all radeon users, as we share single 
drm module. 
radeon_freelist_get() comment also indicates it could be improved :)

According to KGDB and OProfile it loops forever in 
radeon_cp_texture/radeon_freelist_get:

<kgdb part of the stack>
#14 0xc0536bf9 in delay_tsc (loops=2211) at 
/usr/src/debug/kernel-2.6.28/linux-2.6.28.i586/arch/x86/include/asm/paravirt.h:790
#15 0xc0536b8e in __delay (loops=459350633) at arch/x86/lib/delay.c:109
#16 0xc0536bbe in __const_udelay (xloops=1658) at arch/x86/lib/delay.c:123
#17 0xf8463007 in radeon_freelist_get (dev=<value optimized out>) at 
drivers/gpu/drm/radeon/radeon_cp.c:1802
#18 0xf846c036 in radeon_cp_texture (dev=<value optimized out>, 
data=0xf2b1a3c0, file_priv=<value 
optimized out>) at drivers/gpu/drm/radeon/radeon_state.c:1777
#19 0xf82f4638 in drm_ioctl (inode=<value optimized out>, filp=<value optimized 
out>, cmd=<value 
optimized out>, arg=321925974 at drivers/gpu/drm/drm_drv.c:541
#20 0xc04ac8c6 in vfs_ioctl (filp=<value optimized out>, cmd=<value optimized 
out>, arg=<value 
optimized out>) at fs/ioctl.c:5
#21 0xc04ace64 in do_vfs_ioctl (filp=0xf040ef00, fd=<value optimized out>, 
cmd=1658, arg=3219259748) 
at fs/ioctl.c:539
#22 0xc04acee3 in sys_ioctl (fd=23, cmd=3222824014, arg=3219259748) at 
fs/ioctl.c:559
#23 <signal handler called>

There are 3 threads in the process and other two are waiting:

#0  0xc06d6881 in schedule () at kernel/sched.c:2687
#1  0xc044f913 in futex_wait (uaddr=<value optimized out>, fshared=<value 
optimized out>, val=<value 
optimized out>, abs_time=
     clockrt=0) at kernel/futex.c:1246
#2  0xc0450b50 in do_futex (uaddr=<value optimized out>, op=<value optimized 
out>, val=<value 
optimized out>, timeout=0x0, uad
     val3=4294967295) at kernel/futex.c:1945
#3  0xc0451281 in sys_futex (uaddr=0xb88d0f4, op=128, val=1, utime=0x0, 
uaddr2=0x1, val3=24949336) 
at kernel/futex.c:2009
#4  <signal handler called>

#0  0xc06d6881 in schedule () at kernel/sched.c:2687
#1  0xc06d7488 in do_nanosleep (t=0xeafb1f34, mode=<value optimized out>) at 
kernel/hrtimer.c:1411
#2  0xc04420d6 in hrtimer_nanosleep (rqtp=<value optimized out>, rmtp=0x0, 
mode=<value optimized 
out>, clockid=1) at kernel/hr
#3  0xc044217e in sys_nanosleep (rqtp=0x5675380, rmtp=0x0) at 
kernel/hrtimer.c:1518
#4  <signal handler called>

Dmesg is full of radeon_freelist_get, but radeon_cp_dispatch_texture shows only 
once (not sure)

[drm:radeon_freelist_get] done_age = 94912
[drm:radeon_freelist_get] returning NULL!
[drm:radeon_cp_dispatch_texture] EAGAIN

strace cannot be attached, so I assume process never leaves kernel space. It 
can be killed with -9, 
but it all ends up with Xorg consuming 100% CPU and kernel Oops.
Changing FBTexPercent and GARTSize has no effect on this lockup. EnablePageFlip 
is stable on this box.
Section "Device"
  Identifier "Videocard0"
  Driver "radeon"
#Option "AccelMethod" "EXA" # now the default
#Option "AccelMethod" "XAA"
#Option "MigrationHeuristic" "greedy"
  Option "AccelDFS" "on"
#Option "FBTexPercent" "10"
  Option "EnablePageFlip" "true"
  Option "GARTSize" "32"
EndSection

The kernel is 2.6.29-0.119.rc5.fc11.i586 SMP, and the system is AthlonXP 3200+ 
VIA KT880.
Latest released X.org, Mesa, and xf86-video-ati (whatever is currently in 
Rawhide).
Sauerbraten FPS is stable and fast. Extreme Tuxracer also works, but slow - 85% 
in copy_from_user().

Is there something that can be done to fix the issue? I'm commited to provide 
the feedback in case 
more information, testing and patching is required.

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to