Re: KSE and qt-mt

From: Julian Elischer <julian_at_elischer.org>
Date: Mon, 22 Dec 2003 12:05:54 -0800 (PST)
On Mon, 22 Dec 2003, Daniel Eischen wrote:
> 
> I also asked them to use %fs; I'm not sure if they will...
> 

They are worried about WINE as they are sometimes run together.

It is more likely that we could ask them to use a single indirection
and follow the KSE pointer to the Thread block.

Interestigly teh TLS definition for x86 doesn;t sapecify that the
tdv be at offset 0 in the tcb.
There is special mention of having it at another offset, as long as that
offset is known in advance.

We could of course also ask them to use offset 1 (longs)
and leave it free for them they could use that to point to whatever they
want and it would still allow us to experiment with implementing TLS.

I need to look up their address again. it's time we started this
discussion again, now that we are closer to implementing TLS.




> Our current (libkse i386) %gs usage is:
> 
> /*
>  * %gs points to a struct kcb.
>  */
> struct kcb {
> 	struct tcb		*kcb_curtcb;
> 	struct kcb		*kcb_self;	/* self reference */
> 	int			kcb_ldt;
> 	struct kse		*kcb_kse;
> 	struct kse_mailbox	kcb_kmbx;
> };
> 
> struct tcb {
> 	struct tdv		*tcb_tdv;
> 	struct pthread		*tcb_thread;
> 	void			*tcb_addr;	/* allocated tcb address */
> 	void			*tcb_spare;	/* align tcb_tmbx to 16 bytes */
> 	struct kse_thr_mailbox	tcb_tmbx;
> };
> 
> The dynamic thread vector (tcb_tdv) is supposed to point to
> the dynamic TLS but we don't currently allocate it.


correct.

> 
> -- 
> Dan Eischen
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 
Received on Mon Dec 22 2003 - 11:05:59 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:35 UTC