XXI century and still using 386 packages...

Daniel Stone daniel at fooishbar.org
Wed Feb 2 15:46:43 CST 2005


On Wed, Feb 02, 2005 at 10:05:08PM +0100, Vincenzo Ampolo wrote:
> On Wed, 2005-02-02 at 11:37 -0800, Alberto N??ez <nuakosta at gmail.com>
> wrote:
> > We are in 2005, with new technologies and amazingly fast systems...
> > and we are using prehistoric system aimed packages. How many people
> > does use a 386 desktop computer? How many people use a 486 desktop
> > computer? Even Pentiums, nobody surf internet today with a pentium
> > (well, someone...)
> 
> Yes it is right. why not make linux-686 package as default instead of
> linux-386.

Because it then doesn't run on 386, 486, or 586-class systems.  And yes,
they exist.  Lots of them.

> On Wed, 2005-02-02 at 11:37 -0800, James Troup <james at canonical.com>
> wrote:
> > All x86 Ubuntu packages are actually compiled tuned for pentium4
> > systems.  The only thing that's not enabled is the small number of
> > post-486 specific instructions (e.g. cmov) or extensions (e.g. SSE)
> > and they aren't actually useful for the overwhelming majority of code.
> > When they are useful (e.g. in media players, etc.), these instructions
> > or extensions are usually detected and used at run time.
> > 
> Excuse me but if i read the description of the linux-386 package i read:
> Complete Linux kernel on 386.
> This package will always depend on the latest complete Linux kernel
> available
> for 386.
> Instead if i look into linux-686 description i read:
> Complete Linux kernel on PPro/Celeron/PII/PIII/PIV.
> This package will always depend on the latest complete Linux kernel
> available
> for Pentium Pro/Celeron/Pentium II/Pentium III/Pentium IV.
> 
> They seems to be different as you said :-)

There is a difference between these kernels, and having everything built
tuned for PIV.

A large part of the difference lies in things like the pipelines, and
we optimise for a PIV-class CPU: that is, we tell gcc to try to run
on everything possible, but make it the *fastest* for PIV.  That means
optimising for the PIV's radically different pipeline length.

Basically, the only thing at 386 level is the instruction set.  The
optimisations are all there for PIV in the userspace packages; packages
which benefit from larger instruction sets (MMX/SSE/3DNow!/SSE2/3DNow! 2),
all dynamically detect them and use them if available.

As for the kernels, you can install optimised kernels for your
sub-architecture if you like.

The benefits of recompiling all of userspace with the entire PIV/AthlonXP
instruction sets are minimal at best -- not to mention that the already
massive Ubuntu archive more than doubles in size (triples?), as you now
have to have packages built for every combination of
MMX/SSE/3DNow!/SSE2/3DNow! 2.

As with many other problems, it's not that the Ubuntu team has never
thought about this and just simply never bothered with subarchitecture
optimisation.  It's just that we have come to the conclusion that what
we have now is the best possible result.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.ubuntu.com/archives/ubuntu-devel/attachments/20050203/1a491557/attachment.pgp


More information about the ubuntu-devel mailing list