Date: Fri, 18 Jul 2003 15:08:40 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: threads@freebsd.org Subject: Re: Rearranging kse mailbox Message-ID: <Pine.BSF.4.21.0307181458370.14696-100000@InterJet.elischer.org> In-Reply-To: <20030718214516.GA35221@dhcp01.pn.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 18 Jul 2003, Marcel Moolenaar wrote: > On Fri, Jul 18, 2003 at 02:04:08PM -0700, Julian Elischer wrote: > > > > > > On Fri, 18 Jul 2003, Marcel Moolenaar wrote: > > > > > On Fri, Jul 18, 2003 at 12:52:00PM -0700, Julian Elischer wrote: > > > > for TLS we need to ensure that the first few (actually, 1 but a couple > > > > more can't hurt) entry in the KSE mailbox is available as a pointer to > > > > the TLS. (on 386 at least). Marcel probablyt has more to say on the > > > > topic. > > > > > > Good point. I forgot about TLS. I'll bump it up on my todo list. > > > > I don't have teh TLS spec with me here.. > > I don't know if other architectures would make other requirements.. > > I'll see if I can write something up this weekend. I found a copy :-) the ia64 requires that the thread pointer points to aome location that is 16 bytes long, the first 8 bytes of which is a pointer to the TLS Dynamic thread vector, and the 2nd 8 bytes is application specific, but in practice, must be a pointer to the Thread's or KSE's mailbox (I guess KSE to be similar to the others.) ia32 requires just that the thread control info pointed to by %gs SOMEWHERE contains a pointer to the dtv (where SOMEWHERE is a known offset). (In our case the offset would be 0) This means that for the UTS to find the active thread under ia64 takes an extra level of indirection. (node neither of these affect upcalls as teh UTS upcall target function has the mailbox as an argument and can access it independently of %gs or the tp. Am I right that "variant 2" (as seen in the ia32 case) applies to allarchitectures other than ia64? julian > > -- > Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0307181458370.14696-100000>