Skip site navigation (1)Skip section navigation (2)
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>