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