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>