caches and whatnot.

juli mallett jmallett at FreeBSD.org
Tue Jun 15 11:10:02 GMT 2004


So I was having some problems getting things to work on real HW so
I started looking in some possible problem areas, and sort of glossing
over the problem, I got sidetracked by caches.  So I decided to try
running with caches on the Indigo2 and fix up the TLB abstraction to
handle invalidates and whatnot, figuring it'd be pretty easy since 1)
I do have the TLB abstraction 2) this is just kernel code.  And Lo!
An hour later, booting with caches all the way to mountroot> on my
real, live Indigo2.

So other than the "shiny thing" excuse, what made me do this?  Well,
I was looking at the emulator (ports/emulators/mips64emul) and the
Indigo2 side by side, and started kernels more or less exactly at
the same time, starting a little bit later with mips64emul.  The
emulator booted to mountroot> in about 3 seconds faster than my
250MHz Indigo2!  Obscene!  So I figured it was a cache issue, so now,
with the exact same emulator running the same way...  It takes 46
seconds to boot the emulator to mountroot>, and 6 seconds on the
Indigo2 running with caches.  The emulator doesn't do caches, and
even if it did, I'm not sure it could run in tandem with that.

Just thought I'd share those data points in case anyone else found
them interesting.

Unfortunately now I have no excuse to not do devices and whatnot
that I've been sort of holding off on, on real hardware ;)

Thanx,
juli.
-- 
juli mallett.  jmallett at freebsd.org.  adrift in the pacific.


More information about the freebsd-mips mailing list