From owner-freebsd-threads@FreeBSD.ORG Thu Apr 3 16:01:29 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 8999937B401 for ; Thu, 3 Apr 2003 16:01:29 -0800 (PST) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id D862B43FBF for ; Thu, 3 Apr 2003 16:01:28 -0800 (PST) (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 h3401SBg004786; Thu, 3 Apr 2003 19:01:28 -0500 (EST) Received: from localhost (eischen@localhost)h3401ReK004783; Thu, 3 Apr 2003 19:01:27 -0500 (EST) Date: Thu, 3 Apr 2003 19:01:27 -0500 (EST) From: Daniel Eischen To: "Geoffrey C. Speicher" In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-threads@freebsd.org Subject: Re: 1:N threading 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: Fri, 04 Apr 2003 00:01:29 -0000 On Thu, 3 Apr 2003, Geoffrey C. Speicher wrote: > On Thu, 3 Apr 2003, Daniel Eischen wrote: > > > On Thu, 3 Apr 2003, Geoffrey C. Speicher wrote: > > > > > OK, so we've got 1:N threading (libc_r), 1:1 threading (thr), and M:N > > > threading (KSE). Each model has its own merit depending on the > > > application. > > > > > > However, it would still be nice if the 1:N model didn't block the whole > > > process when a thread blocks. Is there any reason to hold onto a pure > > ^ in the kernel. > > > > > userland implementation of 1:N? Can libc_r be implemented in terms of > > > KSE? > > > > Libc_r will go bye-bye. The KSE library will give you 1:N > > as long as you don't use pthread_setconcurrency() and don't > > create any PTHREAD_SCOPE_PROCESS threads. > > Two questions: > > 1. You meant PTHREAD_SCOPE_SYSTEM, right? Sorry, yes. I always seem to make that mistake. > 2. Does always using PTHREAD_SCOPE_PROCESS give 1:1 threading > that would also replace libthr? Yes, it would give the same effect. With the current KSE architecture, there is a small overhead for scope system threads, but with a few, probably minor, changes to the kernel and UTS we can get rid of that. Performance tuning comes last :-) -- Dan Eischen