Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jun 2003 22:02:28 -0400
From:      Alexander Kabaev <kabaev@mail.ru>
To:        Gareth Hughes <gareth@nvidia.com>
Cc:        Daniel Eischen <eischen@pcnet.com>
Subject:   Re: NVIDIA and TLS
Message-ID:  <20030616220228.49672fc7.kabaev@mail.ru>
In-Reply-To: <2D32959E172B8F4D9B02F68266BE421401A6D7E8@mail-sc-3.nvidia.com>
References:  <2D32959E172B8F4D9B02F68266BE421401A6D7E8@mail-sc-3.nvidia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 16 Jun 2003 18:43:50 -0700
Gareth Hughes <gareth@nvidia.com> wrote:

> No, this is simply not true.
> 
> If your thread library implementation is that much better than
> anything else out there, simply support the dynamic access models
> (General Dynamic and Local Dynamic) only. 

You do not understand. Whether or not it is better only time will tell.
ELF TLS standard is defined in a way, that only a _specific_ threads
implementation can reap full benefits, most other are penalized by the
segment access reloads on every thread context switch.

> 
> One of the benefits of the Linux implementation is that it allows
> the static TLS access methods (Initial Exec and Local Exec) to be
> used.  If your implementation fundamentally can't support these
> access models, then just don't support them.

So the choice is either to pay penalty implementing TLS through callable
entry, or by making context switches more expensive than they have to
be.

I am obviously not thrilled with the standard, but I guess I'll have
live with it since I have nothing better to offer on my own anyway.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030616220228.49672fc7.kabaev>