From owner-freebsd-threads@FreeBSD.ORG Mon Jun 16 22:35:07 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 B440237B401 for ; Mon, 16 Jun 2003 22:35:07 -0700 (PDT) Received: from heron.mail.pas.earthlink.net (heron.mail.pas.earthlink.net [207.217.120.189]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C0D243F75 for ; Mon, 16 Jun 2003 22:35:07 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from user-2injaq3.dialup.mindspring.com ([165.121.171.67] helo=mindspring.com) by heron.mail.pas.earthlink.net with asmtp (SSLv3:RC4-MD5:128) (Exim 3.33 #1) id 19S97X-00000h-00; Mon, 16 Jun 2003 22:35:04 -0700 Message-ID: <3EEEA846.DD3F3C7B@mindspring.com> Date: Mon, 16 Jun 2003 22:33:58 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Gareth Hughes References: <2D32959E172B8F4D9B02F68266BE421401A6D7D1@mail-sc-3.nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-ELNK-Trace: b1a02af9316fbb217a47c185c03b154d40683398e744b8a4d71d00f4e433a515d330d0b32798e4aa350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c cc: threads@freebsd.org cc: zander@mail.minion.de cc: 'Julian Elischer' cc: Andy Ritger cc: Daniel Eischen 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 05:35:08 -0000 Gareth Hughes wrote: > Or, better yet, to make sure no problems arise when you change the internals > of your data structures: > > %gs ----->[libGL stuff (16 words, say) ] > [threadsystem-thread-specific-data] > [ stuff ] > > You reserve the first 16 words of your thread data structure for us, and > we're done. At least when this library is being used. This would really suck on most systems because of the cache line misses. The thread specific data for the threading system wants to be in a cache line aligned memory location, and not exceed a cache line in length. You are running multiple threads: surely it's more important, in general, for threads context switch to be fast from your perspective? -- Terry