NVIDIA and TLS
Gareth Hughes
gareth at nvidia.com
Wed Jun 18 13:09:24 PDT 2003
On Wed, 18 Jun 2003, Daniel Eischen wrote:
>
> On Sat, 14 Jun 2003, Andy Ritger wrote:
> > The current NVIDIA FreeBSD driver only supports one threading library
> > on FreeBSD for thread-safe, multi-threaded OpenGL applications: the
> > FreeBSD port of linux-threads. The NVIDIA FreeBSD OpenGL driver uses
> > both the i386_set_ldt system call and %gs to support high performance
> > native OpenGL applications.
>
> One question. How does using %gs work in libc_r? Thread switches
> in libc_r use setjmp()/longjmp() neither of which save and restore
> %gs. If OpenGL sets %gs, libc_r will not change it when threads are
> switched.
>
> Is NVIDIA's OpenGL suppose to be thread-safe for libc_r? I don't
> see how it can be. What am I missing?
To quote the quote from Andy you used:
The current NVIDIA FreeBSD driver only supports one threading library
on FreeBSD for thread-safe, multi-threaded OpenGL applications: the
FreeBSD port of linux-threads.
--
Gareth Hughes (gareth at nvidia.com)
OpenGL Developer, NVIDIA Corporation
More information about the freebsd-threads
mailing list