Date: Fri, 18 Jul 2003 12:52:00 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: deischen@freebsd.org Cc: threads@freebsd.org Subject: Re: Rearranging kse mailbox Message-ID: <Pine.BSF.4.21.0307181248390.14696-100000@InterJet.elischer.org> In-Reply-To: <Pine.GSO.4.10.10307181538360.18280-100000@pcnet5.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-threads > To unsubscribe, send any mail to "freebsd-threads-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0307181248390.14696-100000>