On 10/8/07, erik quanstrom <[EMAIL PROTECTED]> wrote:
> > His original Kernel, L3, was written in pure assembly for x86, using every
> > trick possible.
> >
>
> there's nothing wrong with assembly per ce, but i don't follow this logic.
> generally speaking, compilers are better than humans at doing instruction
> scrabble.

Depends on the compiler ;)

Ignoring the C++ (or all-assembly) nonsense, the general point of
L3/L4 seemed to be "do IPC really, really well on whatever platform we
are running on and then build a microkernel around it".  That's an
oversimplification, and perhaps at that level of abstraction -- that
was the goal of every microkernel (its just many/any didn't succeed at
that goal).

I've been thinking a lot about this, particularly as we've been diving
deep into tracing performance of our network paths as part of the Blue
Gene work.  As of our preliminary results, it would seem that Plan 9
attempts to take the most general approach to things with an emphasis
on keeping everything simple.  Unfortunately we end up paying a heavy
price in raw performance (at least in the networking case).  It may
well be that "benchmark" performance is irrelevant, but I think its at
least worth reviewing other-OS research from the last 20 years to see
what we can learn.  It may be the case that we have cut our
abstractions too high to take advantage of some architectural features
present in modern microprocessors -- it may be that we want to allow
for optimized locking and IPC/queues on particular architectures.

I've heard mention the idea of turning the Plan 9 kernel into a a pure
9p mux and building the system around that -- one wonders how
different we would look from a microkernel environment like L4 then.
I know the Japanese folks talked about their efforts of "porting" Plan
9 on top of L4 at last years IWP9 -- I wonder if they've made any
further progress...

        -eric

Reply via email to