[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: i386 compatibility & libstdc++

On Fri, 25 Apr 2003, [ISO-8859-1] "Martin v. L÷wis" wrote:

> a) Is anybody actually doing this, today?

Hell yes.  I have 3 of them in the field.  Running woody+updates,
custom kernel, and absolutely nothing else.

> b) Do you then have 10MB or 100MB ethernet in that computer?
>     Can you even put a 100MB ethernet card into the computer?
>     Does it have PCI?

No PCI (it only became regular in Pentiums, I've seen one or two late-model
486s with PCI, but it's rare).

The real question is, do you need anything bigger than a 10Mb card?  ADSL
and cable both have throughputs much less than 10Mb in general, and that's
all your firewall is doing - passing packets between one interface < 10Mb,
and another which could (theoretically) work at 100Mb, but which you'll
never be sending that much through (because of the bottleneck on the other

> If there is enough userbase for an i386 distribution,
> I wouldn't mind if an i386 port was maintained separately.
> However, I really think it would be a good thing if Linux
> could, in general, assume 486+ (or perhaps even Pentium+).

Assuming 486+ I could handle - 386s are becoming rare through component
failure.  Going for Pentium+ would be a little more radical, though - I know
of 8 non-firewall machines all running on 486s (plus a multitude of
firewalls).  Supporting all of them with home-built security updates would
be a problem.

The basic problem I see for doing something like upping our minimum spec is
the name of the architecture - i386.  That implies quite heavily that we do
run on 386s.  My migration plan (if I had any interest in doing this) would

* A new architecture, binary-ix86, which would be targetted at something
higher than the venerable 386.  Widely announce what it's targetted for
(perhaps even put it in the name, so binary-i486 or -i586).  Get the
autobuilders running for this -ix86 architecture for sarge and sid.

* After sarge is released, stop running the autobuilders for -i386 on
sarge+1 and sid.  They'll still have to run for sarge and woody updates,
though, as long as they're still around.

* For sarge+1 and co, the architecture list will just cease to have -i386 on
the list.

Calling an architecture -ix86, though, will cause huge problems later on if
we ever want to up the base target again.  We can retarget the toolchain,
but how will we know when all the packages in the architecture has been
retargetted?  I can only imagine that it will necessitate another new
architecture name to retarget all of those packages.

Another question - what is the true 586?  Pentiums, or those Cyrix/AMD chips
which were actually called a 586?  IIRC, there were architecture differences
between Pentiums and 586s.  Oooh, the confusion...

Another question, of course, is what does supporting 386s lose us?  I've
seen this whole flamewar (drop 386 support) before, and what nobody has ever
been able to produce is hard numbers saying "compiling for a 386 gives an X%
performance drop on a Pentium 3, comparsed to code compiled for a
(486|Pentium).  It's no good optimising your code for a P3 and claiming
performance improvement - that's not a realistic test case (since we're not
about to start running autobuilders for every class of x86 processor).

#include <disclaimer.h>
Matthew Palmer, Geek In Residence

Reply to: