"LM: Before Linux, nobody would have believed that the
same kernel would be running supercomputers and cell phones. Do you
think you'll always be able to maintain one codebase that works on
phones and other tiny devices and on very large servers, and just
let people configure it at build time?
"LT: Personally I wouldn't even say "before Linux". For the
longest time "after Linux" I told people inside SGI that they
should accept the fact that they'd always have to maintain some
extra patches that wouldn't be acceptable to the rest of the Linux
crowd just because nobody else cared about scaling quite that high
up.
"So I basically promised them that I'd merge as much
infrastructure patches as possible so that their final external
maintenance patch-set would be as painfree to maintain as possible.
But I didn't really expect that we'd support four-thousand-CPU
configurations in the base kernel, simply because I thought it
would be too invasive and cause too many problems for the common
case.
"And the thing is, at the time I thought that, I was probably
right. But as time went on, we merged more and more of the support,
and cleaned up things so that the code that supports thousands of
CPU's would look fine and also compile down to something simple and
efficient even if you only had a few cores."