Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Nov 1999 14:04:49 -0800 (PST)
From:      Kris Kennaway <kris@hub.freebsd.org>
To:        Julian Elischer <julian@whistle.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Threads models and FreeBSD. (Next Step)
Message-ID:  <Pine.BSF.4.10.9911021344460.73778-100000@hub.freebsd.org>
In-Reply-To: <Pine.BSF.4.10.9911020044200.2283-100000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2 Nov 1999, Julian Elischer wrote:

> 2/ Ability to simultaneously schedule M threads over N Processors,
> and have min(M,N) threads simultaneously executing.

                                                    ^ systemwide

or in other words, "no processor should be idle if there is an unblocked
thread available".

> 7/ Some well documeted scheme exists for handling signals and other async
>         events.

The Solaris papers I referred to earlier outline the model they use, which
is basically, process-wide thread handlers (not per-thread), but
per-thread signal masks. The thread handler can use the thread ID as an
index into a lookup table to implement per-thread handling, if desired.

The user-level code needs to install handlers which actually receive the
signals if any of the (possibly sleeping) threads are waiting for them,
and then wake them up or queue the signal as appropriate, and post it 
to them when they next become active.

As for further references, I found out recently that USC has electronic
access to a huge array of full-text online journals and resources (e.g.
the IEEE online library, the ACM journals dating back to 1985, etc). If
anyone is looking for a paper, let me know and I'll see if I can (legally)
send it to you.

Kris

----
Cthulhu for President! For when you're tired of choosing the _lesser_ of
two evils..






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?Pine.BSF.4.10.9911021344460.73778-100000>