Scope system threads (was Re: PS_BLOCKED)
Daniel Eischen
eischen at pcnet1.pcnet.com
Mon Apr 7 11:07:17 PDT 2003
Rethinking scope system threads a bit...
Here's what I'd like for scope system threads:
o No separate upcall stack; only ever gets one upcall
after kse_create() is called.
o Still has a thread mailbox in which the lone thread's
signal mask is placed.
o The UTS can deliver signals to scope system threads
with kse_thr_interrupt(&scope_system_thread->tmbx, sig)
or equivalent. Since there is no upcall stack, you
can't make an upcall with kse_mbox->km_sigscaught; you
need to send it a signal just like it was a regular
non-KSE thread.
o Can wait for KSE events from other KSE/KSEGs with
kse_release(&ts). After receiving a wakeup or timing
out, kse_release just returns normally -- no upcall.
Typically, we need to wait for low-level locks or
pthread_cond_[timed]wait().
--
Dan Eischen
More information about the freebsd-threads
mailing list