Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!news-res.gsl.net!news.gsl.net!news.mathworks.com!news.PBI.net!cbgw3.att.com!nntphub.cb.lucent.com!news From: "John S. Dyson" <dyson@inuxs.att.com> Newsgroups: comp.unix.bsd.freebsd.misc,comp.unix.bsd.netbsd.misc Subject: Re: Curious about *BSD History Date: Thu, 27 Jun 1996 09:02:08 -0500 Organization: Lucent Technologies, Columbus, Ohio Lines: 47 Message-ID: <31D29460.41C67EA6@inuxs.att.com> References: <4k1nue$lm8@orb.direct.ca> <317006C4.77C0450E@lambert.org> <4qkegg$9as@pier2.bayarea.net> <31D0A2C9.72741EA8@lambert.org> <4qs2ag$bg0@pier2.bayarea.net> NNTP-Posting-Host: dyson.inh.lucent.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.0 (X11; I; FreeBSD 2.1-STABLE i386) Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:22268 comp.unix.bsd.netbsd.misc:3874 Jason R. Thorpe wrote: > > > Ick! Why is there i386 MMU-specific stuff (or assumptions) in the > FreeBSD VM code? All of that should live completely in pmap! > Ick!!! Why is there i386 MMU-specific stuff in the NetBSD VM code? (In vm_glue.c for example :-)). Please refer to the ifdefs... I think that you will find that there are few assumptions about the X86 in the FreeBSD VM code. If someone has told you that, I think that I doubt their competency. The bounce code for the FreeBSD OS is in /sys/i386/i386/vm_machdep.c. I think that is the *right* place for it, given the very fast and efficient solution that we found. Adaptations of the bounce code are very possible for other architectures. Note also that IF the NetBSD bounce scheme won't impact our perf in X86 situations, then we might consider adopting it for that platform. Hand me a Power-PC, R4000, Sparc, etc -- and about $10K and the FreeBSD VM system would be ported to the platform easily. If you have had problems doing it, choose the right people!!! (It is tres simple.) IF (big IF) you studied the VM code, 99% of the assumptions are in the pmap layer. In fact, I have determined that few if any mods would need to be made to the upper layers to efficiently support, say architectures with no reference or modify bits. Also, we have made additions to the code to support machines with microcode TLB's very very efficiently, but THAT does not take anything away from machines like R4000's that have REALLY BROKEN assumptions in the hardware, killing performance on programs with poor locality of reference. Study the code carefully, you MIGHT learn something, and fix NetBSD's implementation!!! BTW, we do have X86 dependencies in vm_glue.c also, except we got them right :-). I guess it is time to move our vm_glue to /sys/i386/i386... Performance wise, our VM code in -current is faster than Linux, (about 3-4X NetBSD.) John