From owner-freebsd-threads@FreeBSD.ORG Tue Jun 17 17:48:35 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 547C737B401 for ; Tue, 17 Jun 2003 17:48:35 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id F41B243F75 for ; Tue, 17 Jun 2003 17:48:33 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5I0m2DZ058419; Tue, 17 Jun 2003 17:48:02 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5I0m1st002540; Tue, 17 Jun 2003 17:48:01 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h5I0m1Bp002539; Tue, 17 Jun 2003 17:48:01 -0700 (PDT) (envelope-from marcel) Date: Tue, 17 Jun 2003 17:48:01 -0700 From: Marcel Moolenaar To: Julian Elischer Message-ID: <20030618004801.GB2440@dhcp01.pn.xcllnt.net> References: <20030617223910.GB57040@ns1.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.4i cc: threads@FreeBSD.org cc: gareth@nvidia.com cc: aritger@nvidia.com Subject: Re: Nvidia, TLS and __thread keyword -- an observation 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 00:48:35 -0000 On Tue, Jun 17, 2003 at 04:38:44PM -0700, Julian Elischer wrote: > > The dynamic TLS model requires more substantial changes and involves > > RTLD as well. This is the model that requires __tls_get_addr(). > > By my reading of it, > you can't use the static model alone. > If you have dynamically loaded modules you need to be able to use the > dynamic model. Yes. If you don't support dynamic loading of shared libraries with TLS, you don't need the dynamic model. You can use the static TLS model even with shared objects, provided you allocate the TLS on thread creation. But this is mostly academic. We need to implement them both... -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net