Date: Fri, 20 Jun 2003 00:32:07 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: deischen@freebsd.org Cc: Julian Elischer <julian@elischer.org> Subject: Re: Implementing TLS: step 1 Message-ID: <20030620073207.GC16066@dhcp01.pn.xcllnt.net> In-Reply-To: <Pine.GSO.4.10.10306200246240.13960-100000@pcnet5.pcnet.com> References: <20030620052010.GC28472@dhcp01.pn.xcllnt.net> <Pine.GSO.4.10.10306200246240.13960-100000@pcnet5.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 20, 2003 at 03:06:34AM -0400, Daniel Eischen wrote: > > Also note that there are both thread and KSE mailboxen. > The km_curthread that must be set to NULL is in the > KSE mailbox. So if all you have is TP(offset 8) pointing > to the thread TCB/mailbox, you still have another pointer > from the thread to the KSE (includes the mailbox). So > you have to atomically set curthread->curkse->km_curthread > to NULL. The thing that can change out from under you > is curthread->curkse, not curthread->curkse->km_curthread. I intend to put the TCB at a negative offset from the thread pointer on ia64. This works for both thread models and for both thread libraries. TP(8) is then free in all cases to point to something else (the KSE in this case). I have to play with it to make sure I'm not overlooking something. -- 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?20030620073207.GC16066>