Date: Mon, 16 Jun 2003 18:28:31 -0400 (EDT) From: Daniel Eischen <eischen@pcnet.com> To: Gareth Hughes <gareth@nvidia.com> Cc: Andy Ritger <ARitger@nvidia.com> Subject: RE: NVIDIA and TLS Message-ID: <Pine.GSO.4.10.10306161820140.11847-100000@pcnet5.pcnet.com> In-Reply-To: <2D32959E172B8F4D9B02F68266BE421401A6D7D1@mail-sc-3.nvidia.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 16 Jun 2003, Gareth Hughes wrote: > On Mon, 16 Jun 2003, Julian Elischer wrote: > > > > It wouldn't take much for us to give you a "application specific > > pointer" in the memory block that is pointed to by %gs. > > > > This would allow you to find your data with a single dereference > > for the N:N threads library.. > > > > %gs ----->[threadsystem-thread-specific-data] > > [ stuff ] > > [ ap-specific pointe ]---->[ your data ] > > [ ] > > > > BUT > > that would only work for the 1:1 threading library > > What's wrong with: > > %gs ----->[threadsystem-thread-specific-data ] > [ stuff ] > [libGL stuff (fixed size, known offset)] %gs is for the KSE in libkse. Multiple threads can run in the same KSE. > Or, better yet, to make sure no problems arise when you change the internals > of your data structures: > > %gs ----->[libGL stuff (16 words, say) ] > [threadsystem-thread-specific-data] > [ stuff ] > > You reserve the first 16 words of your thread data structure for us, and > we're done. At least when this library is being used. Again, %gs isn't per-thread; it's per-KSE. Plus, we're reserving TLS for one vendor/library. What happens when someone else comes along and wants the same thing? I'd much rather see someone push for a new OpenGL spec with better interfaces/APIs. -- Dan Eischen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10306161820140.11847-100000>
