Rearranging kse mailbox
Julian Elischer
julian at elischer.org
Fri Jul 18 12:52:06 PDT 2003
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.
Also, in the latest version I assume there is still a KSE mailbox for
1:1 threads, as it'll be needed for TLS. (is there still a pair of
mailboxen for bound, NON-SA threads?) (even if not used..?)
On Fri, 18 Jul 2003, Daniel Eischen wrote:
> Before we switch from libkse to libpthread, let's take a look
> at the mailboxes and see if we want to reorder them for better
> alignment.
>
> I took a cut at it. I moved the context from the beginning
> of the thread mailbox to the end since it was the largest
> field and most likely to change (for non-i386 archs).
>
> struct kse_thr_mailbox {
> struct kse_thr_mailbox *tm_next; /* Next thread in list */
> void *tm_udata; /* For use by the UTS */
> uint32_t tm_flags; /* Thread flags */
> uint32_t tm_uticks;
> uint32_t tm_sticks;
> uint32_t tm_spare2[9];
> siginfo_t tm_syncsig;
> ucontext_t tm_context; /* User and machine context */
> };
>
> struct kse_mailbox {
> uint32_t km_version; /* Mailbox version */
> uint32_t km_flags; /* KSE flags */
> struct kse_thr_mailbox *km_curthread; /* Currently running thread */
> struct kse_thr_mailbox *km_completed; /* Threads back from kernel */
> sigset_t km_sigscaught; /* Caught signals */
> kse_func_t *km_func; /* UTS function */
> stack_t km_stack; /* UTS context */
> void *km_udata; /* For use by the UTS */
> struct timespec km_timeofday; /* Time of day */
> int32_t km_quantum; /* Upcall quantum in msecs */
> uint32_t km_spare[8];
> };
>
> Comments, suggestions?
>
> --
> Dan Eischen
>
>
> _______________________________________________
> freebsd-threads at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-threads
> To unsubscribe, send any mail to "freebsd-threads-unsubscribe at freebsd.org"
>
More information about the freebsd-threads
mailing list