From owner-freebsd-arch Sun Nov 7 19:55: 9 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 8596514D5C for ; Sun, 7 Nov 1999 19:55:06 -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 EAA12227 for ; Mon, 8 Nov 1999 04:55:06 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id EAA19742 for freebsd-arch@freebsd.org; Mon, 8 Nov 1999 04:55:05 +0100 (MET) Received: from smtp01.primenet.com (smtp01.primenet.com [206.165.6.131]) by hub.freebsd.org (Postfix) with ESMTP id 5957014F45 for ; Sun, 7 Nov 1999 19:54:57 -0800 (PST) (envelope-from rcarter@chomsky.Pinyon.ORG) Received: (from daemon@localhost) by smtp01.primenet.com (8.9.3/8.9.3) id UAA03341; Sun, 7 Nov 1999 20:54:49 -0700 (MST) Received: from ip-83-131.prc.primenet.com(207.218.83.131), claiming to be "chomsky.pinyon.org" via SMTP by smtp01.primenet.com, id smtpdAAAmIaOAg; Sun Nov 7 20:54:47 1999 Received: from chomsky.Pinyon.ORG (localhost [127.0.0.1]) by chomsky.pinyon.org (Postfix) with ESMTP id 2161E80; Sun, 7 Nov 1999 20:54:25 -0700 (MST) X-Mailer: exmh version 2.1.0 09/18/1999 To: Julian Elischer Cc: freebsd-arch@freebsd.org, rcarter@pinyon.org Subject: Re: Threads models and FreeBSD. (Next Step) In-Reply-To: Message from Julian Elischer of "Sun, 07 Nov 1999 02:45:04 PST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 07 Nov 1999 20:54:25 -0700 From: "Russell L. Carter" Message-Id: <19991108035425.2161E80@chomsky.pinyon.org> Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG % %On Tue, 2 Nov 1999, Russell L. Carter wrote: % [...] %> %> Put another way, cramming a process's threads into a single %> scheduling quanta significantly diminishes the suitability of FreeBSD %> as a platform for building high performance and/or RT CORBA apps. % %Let's rephrase this.. ok, but first, apply: s/single scheduling quanta/single scheduling class/ to the above. Weak minded mistake, sorry. % %Firstly 'A single scheduling quanta' is probably a misleading statement. % %firstly it would be %'A group of quanta' as the process may be at a priority where it gets a %lot of time and there may be only one other process with only 1 quanta %allocated to it.. %99/100 is pretty close to all you can get.. Not hard realtime. This is the "best" that can be hoped for, and is certainly generous. But perhaps it could be tunable, down, what I'm concerned about is over allocation of resources required to meet weak QoS "guarantees" for things like streaming multimedia. And some other stuff. %secondly, I see a need to be able to effectively 'fork off a separate %family of threads' that are treated as a separate scheduling entity. %Thsi only makes sense at all if the threads in that group are explicitly %bound to that group, and other threads cannot arbitrarily wander in and %out of the group. Right. The spec explicitly supports this now. But as a specialization, I can think of no (money-making :-) application that requires a thread's scheduling class to be changed during the thread's lifetime (after initial thread initialization). So I think this restriction is useful. %The sum of the processing quanta for the original and the new class would %be the same as a user process forking to run 2 processes in parallel, and %would be limited by the same mechanisms. The second process could not %increaes its priority higher than the parent, just like nice(2) at the %moment. (You wuld need root priority to do that) Frankly, any unpriviledged user space process should abide by these rules, always. That's not the issue I thought; the issue is whether or not some processes (with root priviledges) in the system could take advantage of the soft realtime capabilities specified by the optional POSIX thread interfaces, and accessible via Peter D.'s modifications to the rtprio interface. Thread libraries such as LinuxThreads can do this, though flawed, today. And on top of those are built, well, look back at my other mails. Daniel alludes to priority inheritence for thread mutexes in his response. There's a lot underneath that issue! Schedulability is at the heart of the problem. It's not at all irrelevant to an OS with a reputation for high performance and reliable content delivery. Regards, Russell To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message