From owner-freebsd-threads@FreeBSD.ORG Wed Jun 18 13:09:23 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E57EA37B407 for ; Wed, 18 Jun 2003 13:09:23 -0700 (PDT) Received: from hqemgate00.nvidia.com (hqemgate00.nvidia.com [216.228.112.144]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60D5C43FE0 for ; Wed, 18 Jun 2003 13:09:23 -0700 (PDT) (envelope-from gareth@nvidia.com) Received: from mail-sc-0.nvidia.com (Not Verified[172.16.217.105]) id ; Wed, 18 Jun 2003 13:07:39 -0700 Received: by mail-sc-0.nvidia.com with Internet Mail Service (5.5.2653.19) id ; Wed, 18 Jun 2003 13:09:11 -0700 Message-ID: <2D32959E172B8F4D9B02F68266BE421401A6D803@mail-sc-3.nvidia.com> From: Gareth Hughes To: 'Daniel Eischen' , Andy Ritger Date: Wed, 18 Jun 2003 13:09:09 -0700 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain cc: threads@freebsd.org cc: zander@mail.minion.de Subject: RE: NVIDIA and TLS X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jun 2003 20:09:24 -0000 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@nvidia.com) OpenGL Developer, NVIDIA Corporation