From owner-freebsd-threads@FreeBSD.ORG Mon Apr 7 18:03:33 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 A5F0137B401 for ; Mon, 7 Apr 2003 18:03:33 -0700 (PDT) Received: from exchhz01.viatech.com.cn (ip-167-164-97-218.anlai.com [218.97.164.167]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4EE5F43FAF for ; Mon, 7 Apr 2003 18:03:32 -0700 (PDT) (envelope-from davidxu@freebsd.org) Received: from davidw2k (ip-240-1-168-192.rev.dyxnet.com [192.168.1.240]) by exchhz01.viatech.com.cn with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id HLDQPMQ3; Tue, 8 Apr 2003 08:49:15 +0800 Message-ID: <006601c2fd6a$e2b79d00$f001a8c0@davidw2k> From: "David Xu" To: "Daniel Eischen" , "Julian Elischer" References: Date: Tue, 8 Apr 2003 09:05:03 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 cc: freebsd-threads@freebsd.org Subject: Re: 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: Tue, 08 Apr 2003 01:03:34 -0000 Daniel, These are optimizations, right? Could we stablize the libpthread before optimizing it? Is per-kse problem resolved? I don't stick to this,=20 and if you think it should be resolved now, I would like to work on it. David Xu ----- Original Message -----=20 From: "Daniel Eischen" To: "Julian Elischer" Cc: "David Xu" ; Sent: Tuesday, April 08, 2003 2:07 AM Subject: Scope system threads (was Re: PS_BLOCKED) > Rethinking scope system threads a bit... >=20 > Here's what I'd like for scope system threads: >=20 > 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(). >=20 > --=20 > Dan Eischen