*BSD News Article 78471


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.vbc.net!samba.rahul.net!rahul.net!a2i!ultra.sonic.net!jolt.pagesat.net!www.nntp.primenet.com!nntp.primenet.com!cam-news-hub1.bbnplanet.com!news.mathworks.com!newsfeed.internetmci.com!in1.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.unix.bsd.freebsd.misc,comp.unix.solaris,comp.os.linux.misc
Subject: Re: Benchmarking different Unix Operating Systems
Date: Tue, 17 Sep 1996 18:39:03 -0700
Organization: Me
Lines: 34
Distribution: inet
Message-ID: <323F52B7.716C5364@lambert.org>
References: <aak2.842008017@Isis.MsState.Edu> <50p41e$1ie@nnrp1.news.primenet.com> <5120jc$qh5@panix.com> <32399C1B.7EC4FD4F@lambert.org> <51f9r2$12n@anorak.coverform.lan>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:27410 comp.unix.solaris:82810 comp.os.linux.misc:129690

Brian Somers wrote:
] : Probably the correct way (as opposed to the Solaris/SVR4 suggested
] : method of implementing a new scheduling class) would be to have
] : a cooperative scheduler in user space an convert all blocking
] : kernel calls to non-blocking calls plus a user space thread
] : context switch.
] 
] But what's the difference ?  Even if I lose my chance at running 'cos
] I do a "kernel" thing, I end up w/ a higher priority than the guy that
] gets his whole quantum..... don't I ?


Sure you do.

And you get to eat context switching overhead you wouldn't have
had to otherwise, and your priority is not scalar relative to
the user-thread/kernel-thread ratio.

I've actually been engaged in a nice email discussion with Ingo
Molnar (of the Linux camp) since making this post.

It seems the best place to put the conversion for the
blocking-call -> non-blocking-call+contest-switch is in
trampoline code in the system call, and let the system appear
from user space as if each user thread context is a kernel
thread, and from kernel space as if each runnable context
is something to schedule available CPU resources against.


                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.