Date: Sat, 30 Nov 1996 01:12:36 -0500 (EST) From: "John S. Dyson" <toor@dyson.iquest.net> To: msmith@atrad.adelaide.edu.au (Michael Smith) Cc: imp@village.org, platforms@FreeBSD.org, dyson@FreeBSD.org Subject: Re: FreeBSD/MIPS anybody Message-ID: <199611300612.BAA09955@dyson.iquest.net> In-Reply-To: <199611300546.QAA25227@genesis.atrad.adelaide.edu.au> from "Michael Smith" at Nov 30, 96 04:16:46 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > What strikes me as the biggest real problem is the highly > x86-optimised VM, and along with that perhaps the blurring of MI/MD > code in the FreeBSD kernel. > The FreeBSD VM code uses the SAME assumptions as the original Lite & Lite/2 code except we have removed some broken-ness like pagemove :-). I hope that those concerns about machine dependence are not due to disinformation from others. There might have to be some mods and enhancements to do a port to a given architecture, but the end result will be vastly superior to the original Lite & Lite/2 code that others are currently using. (Note that the original Lite code doesn't do a credible job of working on a heavily loaded system, and it has numerous bugs-- so, frankly, I am not sure that it is properly ported to any machine.) > > I've been studying the NetBSD code for a little while now, and it > strikes me just how much of the VM seems to be replicated from one > architecture to the next. Is this really necessary? How much of > the FreeBSD VM is actually x86-specific, and how much could > reasonably be moved out and reused by other architectures? > The only thing that is substantially X86 specific is the pmap code. When working on the VM code, one has to understand it... Otherwise one gets weird crashes with even the simplest changes. I don't think that very many individuals understand all of the code above the pmap layer. I do think that problems with previous port attempts are due to a lack of understanding of how the code works. The code is subtile^2. There are some X86 optimizations, but those are implemented mostly in the pmap code. Those routines should be noops on architectures like R4000, where they have software managed TLB's. We don't really need the reference bit, and our performance will degrade under heavy load without it. But, NO OS is going to do as well without that bit. The X86 specific optimizations (as opposed to pmap re-design) only account for a small part of the FreeBSD performance gains. John
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611300612.BAA09955>