Subject: Re: netbsd on dual-pentium systems?
To: Adam Glass <glass@NetBSD.ORG>
From: Ron Minnich <rminnich@mini.sarnoff.com>
List: netbsd-help
Date: 01/30/1995 06:43:48
OK, i thought i would mention something re multiprocessors, since this
one comes up a lot. I had a long talk once with wally imura who did the
first aix/370 MP support. It was 4027 additional lines of c code, it was
aesthetically gross, it was in practice simple, and it worked until the real
multithreaded kernel could get done.
What you do is put a lock on the kernel. Only one process allowed in at a
time. You (carefully) unlock the lock when it is clear it is ok, i.e.
when you head back to user land and at a few other points -- i am
not sure sleep() is exactly the right place, but you get the idea -- and
voila -- MP support. The "tricky" part (not that hard) is not screwing up
the management of the kernel lock -- you have to get it right in the MP
sense, i.e. spl() in the kernel lock code will obviously be wrong.
Yeah, it's ugly. But, it worked for IBM for a while. It might work for
us. If anyone has the time that is ...
ron
Ron Minnich |We can think of C++ as the Full Employment Act
rminnich@earth.sarnoff.com |for Programmers. After all, with each compiler
(609)-734-3120 |version change, you have to rewrite all your code.