From owner-freebsd-arch Wed Nov 24 11: 5: 3 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 6739414E03 for ; Wed, 24 Nov 1999 11:05:00 -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 UAA08668 for ; Wed, 24 Nov 1999 20:04:56 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id UAA35146 for freebsd-arch@freebsd.org; Wed, 24 Nov 1999 20:04:55 +0100 (MET) Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 0D0F914F3F for ; Wed, 24 Nov 1999 11:04:18 -0800 (PST) (envelope-from eischen@vigrid.com) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id OAA28855; Wed, 24 Nov 1999 14:03:02 -0500 (EST) Date: Wed, 24 Nov 1999 14:03:02 -0500 (EST) From: Daniel Eischen To: Matthew Dillon Cc: "Daniel C. Sobral" , Julian Elischer , "Daniel M. Eischen" , freebsd-arch@freebsd.org Subject: Re: Threads In-Reply-To: <199911241835.KAA19645@apollo.backplane.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, 24 Nov 1999, Matthew Dillon wrote: > I am getting confused by this whole KSE thing. All the threading I've > ever implemented has been done simply by splitting out the context > information from the Process into a Task, and then allowing N Tasks to > reference the same Process. There was no real distinction made between > kernel and user mode tasks or processes. In this context, what is a task? Something similar to a kernel thread? If there are N (user-level POSIX) threads in an application, how many tasks are there? > In such a scheme the switch code need only contain a single conditional: > One to check if the governing process for a task has a user-level mmu > directory that must be setup. That's it, done. > > I don't think separate scheduling queues are required either. I can see > absolutely no gain in performance by doing that and it unnecessarily > complicates the code. We can trivially use the existing priority > scheme to schedule interrupt tasks (threads). The kernel doesn't know at what priority the threads run, so how can it effectively schedule them? Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message