Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Nov 1999 22:04:34 -0500
From:      "Daniel M. Eischen" <eischen@vigrid.com>
To:        rcarter@chomsky.Pinyon.ORG
Cc:        Amancio Hasty <hasty@rah.star-gate.com>, Terry Lambert <tlambert@primenet.com>, julian@whistle.com, freebsd-arch@freebsd.org
Subject:   Re: Threads goals version III
Message-ID:  <38224942.6447A8B2@vigrid.com>
References:  <19991105011623.CE5AD4D@chomsky.pinyon.org>

next in thread | previous in thread | raw e-mail | index | archive | help
"Russell L. Carter" wrote:
> 
> %> One could argue that the program should be using a hybrid scheduling
> %> class in the kernel in order to achieve this effect, rather than
> %> having to have the idea that you would want to schedule seperate
> %> kernel schedulable entities within one program.
> %
> %How to you propose to handle priorieties for different
> %"thread thingies" --- "thread thingies" being a yet to
> %be defined thread implementation.
> %
> 
> One uses pthread_*sched* routines to modify scheduling
> attributes for individual threads.  Whether or not those threads
> can get process or system scope, as in the spec, or just process
> scope, that is the question.
> 
> If I groked Terry's first missive then the process should first
> set scheduling attributes via sched_setscheduler, if it needs
> something other than SCHED_OTHER (default per process scheduling).
> I'm still studying whether or not this is good enough; i.e., can
> individual threads in a process with a SCHED_FIFO or SCHED_RR
> policies meet QoS goals, and does it provide the flexibility
> needed by an application structured as Daniel's is.

I don't think it does.  I think under Terry's scheme, it wouldn't
be possible to bind a thread to a KSE and place it in a different
scheduler class.  It would still be possible to run [user] threads
in different scheduler classes without being bound to a KSE, but
this wouldn't reserve a quantum in which the threads could execute.
So if the application on the whole was at or near it's process
limits, the threads in the real-time (or some other than the
default) scheduler class wouldn't be able to run.

You could make allowances for this situation and manage accounting
differently for a process running under multiple scheduling classes,
but it still seems simpler to allow (with correct privileges) system
scope threads to be bound to KSEs with their own quantum.

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?38224942.6447A8B2>