From owner-freebsd-threads@FreeBSD.ORG Mon Apr 7 11:07:16 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A17B737B404; Mon, 7 Apr 2003 11:07:16 -0700 (PDT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id B62CC43FB1; Mon, 7 Apr 2003 11:07:15 -0700 (PDT) (envelope-from eischen@pcnet1.pcnet.com) Received: from pcnet1.pcnet.com (localhost [127.0.0.1]) by mail.pcnet.com (8.12.8/8.12.1) with ESMTP id h37I79Bg005310; Mon, 7 Apr 2003 14:07:09 -0400 (EDT) Received: from localhost (eischen@localhost)h37I78gY005305; Mon, 7 Apr 2003 14:07:08 -0400 (EDT) Date: Mon, 7 Apr 2003 14:07:08 -0400 (EDT) From: Daniel Eischen To: Julian Elischer In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: David Xu cc: freebsd-threads@freebsd.org Subject: Scope system threads (was Re: PS_BLOCKED) X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Apr 2003 18:07:17 -0000 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