Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 07 Nov 1999 09:26:02 -0500
From:      "Daniel M. Eischen" <eischen@vigrid.com>
To:        Julian Elischer <julian@whistle.com>
Cc:        "Russell L. Carter" <rcarter@chomsky.Pinyon.ORG>, Poul-Henning Kamp <phk@critter.freebsd.dk>, freebsd-arch@freebsd.org
Subject:   Re: Threads models and FreeBSD. (Next Step)
Message-ID:  <38258BFA.B7EA3ECB@vigrid.com>
References:  <Pine.BSF.4.10.9911070237440.10573-100000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote:
> 
> 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..
> 
> 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..
> 
> 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.

Except for very narrow windows where threads holding critical resources
(internal to the threads library) are continued until they release the
resource.  I can also see the need for threads to cross scheduling group
boundaries in order to support priority protection and priority ceiling
mutexes.

> 
> 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)

Yes!  As long as we can "obtain a new quantum" with the ability (as root)
to raise priority or enter a different scheduling class, then I am
satisified :-)

Dan Eischen
eischen@vigrid.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38258BFA.B7EA3ECB>