From owner-freebsd-arch Tue Nov 2 15:57:24 1999 Delivered-To: freebsd-arch@freebsd.org Received: from ns1.yes.no (ns1.yes.no [195.204.136.10]) by hub.freebsd.org (Postfix) with ESMTP id EDFF414C39 for ; Tue, 2 Nov 1999 15:57:19 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.9.3/8.9.3) with ESMTP id AAA28640 for ; Wed, 3 Nov 1999 00:57:18 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id AAA83234 for freebsd-arch@freebsd.org; Wed, 3 Nov 1999 00:57:18 +0100 (MET) Received: from plunger.gdeb.com (plunger.gdeb.com [153.11.11.3]) by hub.freebsd.org (Postfix) with ESMTP id A928114FBD for ; Tue, 2 Nov 1999 15:57:08 -0800 (PST) (envelope-from eischen@vigrid.com) Received: from orion.caen.gdeb.com ([153.11.109.11]) by plunger.gdeb.com with ESMTP id SAA12799; Tue, 2 Nov 1999 18:30:37 -0500 (EST) Received: from vigrid.com (clcrtr [153.11.109.129]) by orion.caen.gdeb.com (8.9.3/8.9.3) with ESMTP id SAA45353; Tue, 2 Nov 1999 18:55:23 -0500 (EST) (envelope-from eischen@vigrid.com) Message-ID: <381F79EB.F4D206B6@vigrid.com> Date: Tue, 02 Nov 1999 18:55:23 -0500 From: "Daniel M. Eischen" X-Mailer: Mozilla 4.51 [en] (X11; U; FreeBSD 3.2-STABLE i386) X-Accept-Language: en MIME-Version: 1.0 To: Nate Williams , Julian Elischer , freebsd-arch@freebsd.org Subject: Re: Threads models and FreeBSD. (Next Step) References: <19991102173736.9E34E1FCD@io.yi.org> <199911022319.QAA26200@mt.sri.com> <381F78AF.D5073BFB@vigrid.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG "Daniel M. Eischen" wrote: > > It could also take many kernel wakeups for a heavy I/O bound thread to > leave the kernel. I thought of this ;-). > > This is how binding a thread to a LWP can be useful. For a thread bound > to a LWP, you only notify the user level threads library if it blocks because > it's time quantum expired (so the threads library can see if it is in a > critical region). If the thread blocks due to a tsleep or something like > that, you can assume it's not holding any critical resources that the user > threads library implementation needs. In this case, you don't notify the > threads library. > > So by extending SA to allow binding threads to LWPs, you can achieve just > about the same thing as async call gates. But it's the application that gets > to decide exactly how to use these features, and not left to the implementation > in the kernel. Sorry, there I go again using LWP. Please replace LWP with Nate's chosen terminology 'kernel thread'. Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message