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