Rearranging kse mailbox
Daniel Eischen
eischen at vigrid.com
Fri Jul 18 12:46:58 PDT 2003
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
More information about the freebsd-threads
mailing list