From owner-freebsd-threads@FreeBSD.ORG Mon Feb 11 07:35:05 2008 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3726E16A41B; Mon, 11 Feb 2008 07:35:05 +0000 (UTC) (envelope-from wagner@luthien.iceflower.in-berlin.de) Received: from hirsch.in-berlin.de (hirsch.in-berlin.de [192.109.42.6]) by mx1.freebsd.org (Postfix) with ESMTP id 876B713C45E; Mon, 11 Feb 2008 07:35:04 +0000 (UTC) (envelope-from wagner@luthien.iceflower.in-berlin.de) X-Envelope-From: wagner@luthien.iceflower.in-berlin.de Received: from hirsch.in-berlin.de (localhost [127.0.0.1]) by hirsch.in-berlin.de (8.14.2/8.14.2/Debian-2) with ESMTP id m1B7Z2W1021960; Mon, 11 Feb 2008 08:35:02 +0100 Received: (from uucp@localhost) by hirsch.in-berlin.de (8.14.2/8.14.2/Submit) with UUCP id m1B7Z2q9021959; Mon, 11 Feb 2008 08:35:02 +0100 Received: (from wagner@localhost) by luthien.iceflower.in-berlin.de (8.14.2/8.14.2) id m1B7O2E2059772; Mon, 11 Feb 2008 08:24:02 +0100 (CET) (envelope-from wagner) Date: Mon, 11 Feb 2008 08:24:02 +0100 From: Olaf Wagner To: Alfred Perlstein Message-ID: <20080211072402.GA59256@luthien.in-berlin.de> References: <20080211013728.GB54462@luthien.in-berlin.de> <20080211031325.GF99258@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080211031325.GF99258@elvis.mu.org> User-Agent: Mutt/1.5.11 Cc: freebsd-threads@freebsd.org Subject: Re: FreeBSD Threading Documentation X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Feb 2008 07:35:05 -0000 On Sun, Feb 10, 2008 at 07:13:25PM -0800, Alfred Perlstein wrote: > * Olaf Wagner [080210 18:37] wrote: > > I haven't found much, so I think I'll have to ask here after all: > > > > Is there any overview article or design document about the > > different threading implementations in FreeBSD? > > There have been a few approaches taken over the years, > an N-1(libc_r), N-M(libkse) and N-N (libthr). > > Currently FreeBSD supports pthreads using libthr which > is pretty much the same way that Solaris and Linux support > pthreads. That's about how much I had already figured out :-) I am looking for something a little bit longer (let's say about 5-12 pages) which discusses the design and compares two or more of the solutions. Or is the source code the only available documentation? The FreeBSD documentation project has amassed such a wealth of information, but I couldn't find anything related to threads, which does not seem a very uncommon topic to me. The reason because I'm asking is that I've started to use FreeBSD's system threading libraries for CM3 instead of the built-in user threads system, and there are several interesting effects (hangs, assertion failures, ...) with one or the other of the libraries, which may either be located in M3 or in C code. Olaf -- /\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ || Olaf Wagner | wagner(at)luthien.in-berlin.de (priv.)| || Cranachstrasse 7 | wagner(at)elego.de (business) | || D-12157 Berlin | phone: +49 30 85 60 26 70 | || Germany / Deutschland | ab/am: +49 30 85 58 01 81 | \/////////////////////////////////////////////////////////////////