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.