From owner-freebsd-arch Tue Apr 11 9:51:13 2000 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 5A20237BACC for ; Tue, 11 Apr 2000 09:51:11 -0700 (PDT) (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 SAA15972 for ; Tue, 11 Apr 2000 18:51:13 +0200 (CEST) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id SAA08214 for freebsd-arch@freebsd.org; Tue, 11 Apr 2000 18:51:08 +0200 (CEST) Received: from smtp03.primenet.com (smtp03.primenet.com [206.165.6.133]) by hub.freebsd.org (Postfix) with ESMTP id 12C7A37BB4B; Tue, 11 Apr 2000 09:49:33 -0700 (PDT) (envelope-from tlambert@usr01.primenet.com) Received: (from daemon@localhost) by smtp03.primenet.com (8.9.3/8.9.3) id JAA24582; Tue, 11 Apr 2000 09:48:52 -0700 (MST) Received: from usr01.primenet.com(206.165.6.201) via SMTP by smtp03.primenet.com, id smtpdAAA95aOYV; Tue Apr 11 09:48:40 2000 Received: (from tlambert@localhost) by usr01.primenet.com (8.8.5/8.8.5) id JAA17290; Tue, 11 Apr 2000 09:49:03 -0700 (MST) From: Terry Lambert Message-Id: <200004111649.JAA17290@usr01.primenet.com> Subject: Re: BUF/BIO roadmap. To: mckusick@flamingo.McKusick.COM (Kirk McKusick) Date: Tue, 11 Apr 2000 16:49:03 +0000 (GMT) Cc: julian@elischer.org (Julian Elischer), phk@freebsd.org (Poul-Henning Kamp), arch@freebsd.org In-Reply-To: <200004110225.TAA26536@flamingo.McKusick.COM> from "Kirk McKusick" at Apr 10, 2000 07:25:51 PM X-Mailer: ELM [version 2.5 PL2] MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Kirk McKusick writes: > > It is my understanding that the BSD/OS MP work will soon be > considered for incorporation into FreeBSD. Part of that > project will include the addition of interrupt threads. > Assuming that they go in, it will not be necessary to have > a devd process. Beyond that, I agree with Julians comments. Each time interrupt threads comes up, I have to point this out: Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs E. Mohr, D.A. Kranz, and R.H. Halstead, Jr. _IEEE Transactions on Parallel and Distributed Systems_ July 1991, pages 264-280 It seems to me that the interrupt threads are an implementation of this (10 year old) technology. It also seems to me that kernel threads are _still_ a significantly bad idea, since the problems faced in kernel preemption are a subset of the problems faced in Real Time support, and that as a result, it will be significantly harder to support Hard Real Time in the future without significant revisions of the the OS architecture. I don't think the goal of code integration for the sake of code integration is really worthwhile. I view the use of kernel thread context switches as an alternative to addressing fine grained parallelism through critical sectioning and object locking as a compromise; perhaps not a good one, since this will obviously result in register window flushing on RISC architectures, such as SPARC. It seems to me that the thing to address first is that which Dynix addressed first, and which was noted in chapter 12 0f Uresh Vahalia's _UNIX Internal: The New Frontiers_, which is per processor resource pools with high and low watermarking and free resource revocation in low resource conditions. This would significantly reduce even the need for bus and lock contention, since contention would only occur at high or low watermark, or as the result of a resource revocation event in an already stressed system. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message