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.netspace.net.au!news.mel.connect.com.au!munnari.OZ.AU!uunet!in3.uu.net!128.230.129.106!news.maxwell.syr.edu!hunter.premier.net!news1.best.com!idiom.com!nntp2.ba.best.com!not-for-mail From: dillon@flea.best.net (Matt Dillon) Newsgroups: comp.programming.threads,comp.unix.bsd.freebsd.misc Subject: Re: [??] pure kernel vs. dual concurrency implementations Date: 22 Feb 1997 18:01:30 -0800 Organization: BEST Internet Communications, Inc. Lines: 27 Message-ID: <5eo8dq$pan@flea.best.net> References: <330CE6A4.63B0@cet.co.jp> <874tf7lbxc.fsf@serpentine.com> <8gn2swxpwh.fsf@galapagos.cse.psu.edu> NNTP-Posting-Host: flea.best.net Xref: euryale.cc.adfa.oz.au comp.programming.threads:3285 comp.unix.bsd.freebsd.misc:36016 :In article <8gn2swxpwh.fsf@galapagos.cse.psu.edu>, :Scott Schwartz <schwartz@galapagos.cse.psu.edu.NO-SPAM> wrote: :>Bryan O'Sullivan <bos@serpentine.com> writes: :>| m> * simpler model, less complicated scheduler :>| :>| Arguments from simplicity are oftentimes seductive and misleading, if :>| what you are trying to achieve is good performance. :> :>On the other hand, if you look at actual systems, like Plan 9, you :>find that they are very fast in addition to being simple. This is actually one area where FreeBSD could use a workover... A register-set save/restore from an interrupt on a pentium pro 200 can be done in about 1uS (cache case). I do not know how much additional overhead the MMU switch takes, but it can't be all that bad since the secondary cache is physically tagged (at least, I think it is). FreeBSD should be able to context switch a whole lot faster then it currently does. A brief look at the code shows a *huge* amount of baggage in the 'critical path' that could be moved elsewhere, and I do mean *huge*. That said, it is still respectable enough that I've never had a problem with context switches on FreeBSD systems. I presume few other people have either, which tends to put the switch code at a lower priority. -Matt