*BSD News Article 72175


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