EXA & vtSema

Thomas Winischhofer thomas at winischhofer.net
Wed Jul 6 05:14:53 PDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


When testing current CVS with EXA and my accelerated Linux framebuffer
driver together, I experience a lot of hangs.

Fact is that X, AFTER the driver's LeaveVT was called, calls EXA's
WaitMarker routine. Hooking gdb into the X process, I discovered that X
hangs right there, in EXA's WaitMarker (which actually points to my
routine syncing the accelerator). The hang is therefore easily
explained: LeaveVT resets the accelerator, so any call to accelerator
functions after that is strictly a no-go.

A backtrace from the hanging X process gave me the following:

(gdb) backtrace
#0  0xb7b566f7 in SiSEXASync () from
/usr/X11R6/lib/modules/drivers/sis_drv.so
#1  0xb7abca7d in exaWaitSync () from /usr/X11R6/lib/modules/libexa.so
#2  0xb7abd005 in ExaCheckPolyFillRect () from
/usr/X11R6/lib/modules/libexa.so
#3  0xb7abbb3d in exaPolyFillRect () from /usr/X11R6/lib/modules/libexa.so
#4  0x081701ad in cwPolyFillRect ()
#5  0x08168cc4 in damagePolyFillRect ()
#6  0x080c2603 in ProcPolyFillRectangle ()
#7  0x080beeb2 in Dispatch ()
#8  0x080d250a in main ()

Looking into the EXA code I found not a single occurance of
pScrn->vtSema, as opposed for example by XAA, which checks this in about
every routine.

That's not the way it should be, right ;)

- --
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net	       *** http://www.winischhofer.net
twini AT xfree86 DOT org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCy8s9zydIRAktyUcRApfoAJ9k4zznskh348j1+yaWDMxLMBvXCACeLuKx
0FquIpJ/ldx93CNVC7KgI6A=
=CuFR
-----END PGP SIGNATURE-----



More information about the xorg mailing list