Welcome mo (was Re: [Wolves] tv card)

sparkes sparkes at westmids.biz
Mon Dec 15 13:15:03 GMT 2003


On Mon, 2003-12-15 at 11:12, Aquarius wrote:
<snip seenbefore="true">

> ----------------- the question ----------------
> If someone came up with a feature which would noticeably improve Linux
> on one platform, x86 (a standard PC), should that feature be part of
> the mainline kernel?
> -----------------------------------------------
> 
> Decided on your answer?
Yes, if the feature is not an outward interface, if it is then no.  See
the asm parts of the kernel for non portable code but none of this
breaks userland software and no kernel feature should mean something is
allowed on only one processor family.

<snip>
> The reason that Jono and I disagree here is[1] that he believes that
> Linux should be the best that it can be on each possible platform,
> which means that different platforms may have different capabilities
> (because there might be stuff you can do on x86 that you can't do on
> sparc, say, and that's no reason to not have it *do* those things on
> x86 if it can). I believe that one of Linux's main strengths is that it
> is genuinely cross-platform in everything; you can sit down at a Debian
> box and not have to care, or even know, whether it's x86 or sparc or
> arm or mips. If you have features on some platforms and not others,
> then everything that depends on those features suddenly also becomes
> non-cross-platform, and you lose the benefit of being able to jump
> between architectures without applications breaking. My major worry is
> that pretty much everything that's suggested in this vein is an x86
> feature, and I think it'll disenfranchise other platforms until you
> essentially have "Linux" and "Linux x86" and they are a lot different.
> 
There are many parts of the kernel that are implimented in very
differnet ways on different architecures but none of them should ever be
allowed to break the cross plateform portability of the code.  

It shouldn't matter if X feature on Y processor has been used to create
a super duper uber process schedualer on that platform as long as the
interfaces between the kernel and outside world are the same.

if the 'feature' is a new interface then the answer must be no unless
the 'feature' can be emulated in software on other platforms.  This has
already been done afaik in a number of places.

There already is a split in the x86 and the rest (read civilised ;-)
world.  Sometimes the stock kernel won't compile clean on other
processors before patches are applied.  Sometimes hardware that is
supported on x86 hardware won't run on other pci based systems.  This is
just a problem of having such a cool kernel and using (abusing) it on so
many different platforms.  These problems get fixed as more eyes see the
problems.  This is why open source is so f**king cool!

As much as it pains me ;-) Aq is perfectly right.  When I run apt-get on
x86 and on sparc it might get different binaries but they are installed
in the same place and use the same config files and normally compile
from the same sources. (in debian this is normally the case, but
sometimes thats because the debian sparc32 and sparc64 guys have already
patched)

> I'd be interested to hear what other people think about this...
> 
and you will, forever.

> Aq.
> 
> [1] I'm putting words in his mouth here, but he'll no doubt pipe up if
> I'm misrepresenting his views :)
he'll pipe up anyway, that's why he is so loved ;-)

sparkes



More information about the Wolves mailing list