Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Nov 1999 18:21:56 -0800 (PST)
From:      Julian Elischer <julian@whistle.com>
To:        Matthew Jacob <mjacob@feral.com>
Cc:        "Jordan K. Hubbard" <jkh@zippy.cdrom.com>, committers@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: Core responsibilities [was Re: PHK: "Shut up and go away quietly"]
Message-ID:  <Pine.BSF.4.10.9911201809100.6767-100000@current1.whistle.com>
In-Reply-To: <Pine.BSF.4.05.9911201801230.6541-100000@semuta.feral.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sat, 20 Nov 1999, Matthew Jacob wrote:

> 
> Actually, to be fair about this, Julian *did* announce to all and sundry
> that there would be a discussion about threads. I lurked and followed it
> from a distance throughout the week or so it was active. Since it didn't
> really touch that much on kernel threads, I didn't have a great amount of
> interest in leaping in (the last time I did user level thread work was in
> helping Nawaf polish off/disagree with some Posix stuff multi years ago
> wrt signal handling).
> 
> It did seem that the discussion was productive, but since it wasn't really
> my table, I didn't get involved. Now, if there's some talk about kernel
> threads, or more precisely, how a fully threaded kernel will need changes
> to the device I/O model, then I'm more interested.

That's peculiar because teh first week was just discussing the goals.
from there we got to the fact that we need the following kernel
support.

1/ KSE's (kernel schedulable Entities that are separate from processes).
2/ SUB-processes. (each with ONE OR MORE KSEs)
3/ Processes (each with one or more Sub processes)
4/ A second call-gate to implement the syscalls that are changed
5/ A different syscall protocol (using #4) to implement the fact that all
   IO becomes Async in a thread setting, and to return control to the
   (User level) Thread Scheduler (UTS) when a KSE blocks. 
6/ A manner of returnig to the UTS after the subprocess is rescheduled
   after a process preemption rather than returning to the thread that was
   pre-empted.
7/ A method for treating a pagefault as a blocking IO and returning to the   
   UTS when a thread get's a pagefault.
  7A/ A method of ensuring the UTS doesnt activate #7 if IT blocks.
8/ A method of delivering a signal to the UTS rathe than to any randomly
   running thread, and letting it decide which thread should handle it.
   (7 and 8 are related)

The discussion has basically stopped the last 6 days as everyone has been
busy but I was getting ready to post some stuff tonight.

Julian





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.9911201809100.6767-100000>