From owner-freebsd-threads@FreeBSD.ORG Mon Jun 16 18:12:04 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 3E63137B401 for ; Mon, 16 Jun 2003 18:12:04 -0700 (PDT) Received: from hqemgate00.nvidia.com (hqemgate00.nvidia.com [216.228.112.144]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7074E43F85 for ; Mon, 16 Jun 2003 18:12:03 -0700 (PDT) (envelope-from gareth@nvidia.com) Received: from mail-sc-0.nvidia.com (Not Verified[172.16.217.105]) id ; Mon, 16 Jun 2003 18:14:51 -0700 Received: by mail-sc-0.nvidia.com with Internet Mail Service (5.5.2653.19) id ; Mon, 16 Jun 2003 18:11:30 -0700 Message-ID: <2D32959E172B8F4D9B02F68266BE421401A6D7E6@mail-sc-3.nvidia.com> From: Gareth Hughes To: 'Julian Elischer' Date: Mon, 16 Jun 2003 18:11:30 -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 cc: 'Daniel Eischen' cc: Andy Ritger 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: Tue, 17 Jun 2003 01:12:04 -0000 On Mon, 16 Jun 2003, Julian Elischer wrote: > > What I'm saying is that we can and probably should implement TLS using > the general model to provide TLS at "sane" speed, (e.g. 5 instructions) > but that I don't think we can implement the "1 instruction" version that > you are asking for without breaking the binary compatibility that we > currently have between our 3 pthread libraries. We can currently switch > libraries between 3 very different threads libraries without recompiling > the app or any other libraries involved. in fact we have a config file > to the loader that specifies which one to use at run time **Per > application**. Without using an entrypoint (or maybe self modifying > code) (*EEK!*) I don't see how we can do it and keep that *Very useful* > functionality. Let me make our position crystal clear: If FreeBSD support ELF TLS and __thread variables in ANY form, our driver will use this support. If the best you can do is a function call per access, so be it. It doesn't sound like there are any other options, given the fact that you ship with three different thread libraries. -- Gareth Hughes (gareth@nvidia.com) OpenGL Developer, NVIDIA Corporation