From owner-freebsd-threads@FreeBSD.ORG Mon Jun 16 13:11:01 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 8E19737B401 for ; Mon, 16 Jun 2003 13:11:01 -0700 (PDT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id D8AF543FA3 for ; Mon, 16 Jun 2003 13:11:00 -0700 (PDT) (envelope-from eischen@pcnet.com) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mail.pcnet.com (8.12.8/8.12.1) with ESMTP id h5GKAxXh022156; Mon, 16 Jun 2003 16:10:59 -0400 (EDT) Date: Mon, 16 Jun 2003 16:10:59 -0400 (EDT) From: Daniel Eischen To: Andy Ritger In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: threads@freebsd.org cc: zander@mail.minion.de cc: Gareth Hughes 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: Mon, 16 Jun 2003 20:11:01 -0000 On Sat, 14 Jun 2003, Andy Ritger wrote: > > I'd like to add a few comments to what has recently been said here > and on freebsd-current to clarify what the %gs register is used > for by the NVIDIA driver and what ideally would be done to allow > the NVIDIA driver to coexist with FreeBSD threading implementations. > > The NVIDIA driver does not need %gs to maintain internal state in the > kernel; rather, it uses it to maintain fast thread local data for the > OpenGL implementation, where it is critically important to have fast > (single instruction) access to such data. Take 2. After thinking a bit more... I guess OpenGL (or OpenGL implementation interfaces to the NVIDIA driver) doesn't have thread-safe interfaces. Instead of trying to change the interface of the OS, why not change (or add) OpenGL or NVIDIA driver interfaces so that there is not a need for TLS? -- Dan Eischen