Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Apr 2003 14:07:08 -0400 (EDT)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        freebsd-threads@freebsd.org
Subject:   Scope system threads (was Re: PS_BLOCKED)
Message-ID:  <Pine.GSO.4.10.10304071354450.3533-100000@pcnet1.pcnet.com>
In-Reply-To: <Pine.GSO.4.10.10304070730480.9723-100000@pcnet1.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10304071354450.3533-100000>