[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: What is the reason for tls_model("initial-exec") in Mesa?



Hi,

it seems that only compiling Mesa without "--enable-glx-tls" fixes the problem. I have run a Nexuiz demo game as a benchmark for Mesa with/without TLS, and the results seem very similar:

Mesa compiled with TLS initial-exec:
1184 frames 62.7560000 seconds 18.8667219 fps, one-second fps min/avg/max: 10 19 60 (64 seconds)

Mesa compiled without GLX TLS:
1184 frames 62.6740000 seconds 18.8914063 fps, one-second fps min/avg/max: 10 19 60 (64 seconds)

Mesa compiled with TLS global-dynamic:
1184 frames 63.1370000 seconds 18.7528707 fps, one-second fps min/avg/max: 10 19 60 (64 seconds)

Can you point me to a better benchmark for testing GLX + TLS?
If there is no performance benefit in using TLS, and as it breaks some software, would it be sensible to disable TLS in Mesa by default?

Cheers,
Raphael

On Fri, 10 Dec 2010 00:42:04 +0100, Raphael Wimmer <raphael.wimmer@ifi.lmu.de> wrote:

Hi,

Please disregard the previous message. The problem resurfaced, so it may not (only) be related to the TLS mode.
I'll investigate further.

Cheers,
Raphael


On Thu, 09 Dec 2010 23:47:58 +0100, Raphael Wimmer <raphael.wimmer@ifi.lmu.de> wrote:

Hi,

In mesa-7.7.1/src/glx/x11/glxcurrent.c, GLX gets initialized with tls_model("initial-exec").
However, it seems that this TLS mode is not intended for libraries [1].
Using "initial-exec" causes problems with other libraries like libavg (see Ubuntu bug report [2]). The problem seems also to be related to Debian bug 365245 [3]. The problem apparently shows up as segfaults when reading from an input stream.

Note: this turned out not to be true:
Changing the TLS mode to "global-dynamic" fixes the problem on my setup
:Note End

(Debian Testing, 2.6.35 64bit, open-source Radeon driver, MacBookPro 2,2). The libavg folks have been hunting this problem for some time and it affects a lot of users [4]

Unfortunately, I do not know the effect of different TLS modes on graphics performance.
Is it possible to exchange "initial-exec" with another TLS mode in Mesa?

Please keep me CC as I am not on the list.

Cheers,

Raphael

[1] http://readlist.com/lists/gcc.gnu.org/gcc-help/1/6013.html
[2] https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/259219
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=365245
[4] https://www.libavg.de/wiki/index.php/Known_Linux_Installation_Issues#glibc_invalid_pointer






--

Dipl.-Medieninf. Raphael Wimmer
Wiss. Mitarbeiter / Research Assistant
Doktorand / PhD student

Ludwig-Maximilians-Universität München   E-Mail: raphael.wimmer@ifi.lmu.de
LFE Medieninformatik                     Skype:  real_raphman
Amalienstr. 17 / Raum 206 WWW: http://www.medien.ifi.lmu.de
80333 München                            Tel:    +49 (89) 2180-4659
Germany                                  Fax:    +49 (89) 2180-99-4659


Reply to: