686optimizations

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



Subject: RE: 686 distro. [Was: What about Mandrake?]
From: Bernhard Rosenkraenzer <bero@redhat.de>
Date: Wed, 29 Dec 1999 16:45:49 +0100 (CET)


On Wed, 29 Dec 1999, Brian Ivey wrote:

> Could someone please explain why a 686 distribution is needed? How it would
> be different from the normal RedHat distribution?

It would run somewhat faster on PPro/Pentium III/Pentium III and probably
K7 and Cyrix 6x86Mx, but wouldn't run at all on
386/486/Pentium/K5/K6/6x86.

The idea is to just recompile everything, and telling the compiler it may
generate instrictions specific to 686 processors, and to optimize
alignments etc for the newer processor cores.

Red Hat currently does not build a 686 version because
- we want to remain compatible with older machines (writing this from
  a K6 (non-686), using a 486SX mail server to relay it)
- the compiler currently included in Red Hat Linux, egcs 1.1.2, can't
  handle 686 optimizations well; the performance gain would be rather
  small. (Actually some packages compiled with egcs and i686 optimizations
  are actually SLOWER than non-optimized packages). It simply isn't worth
  the additional work/maintenance.
  gcc 2.95.2, the current version of the compiler, is quite a bit better
  at optimizations, though.

===

Subject: Re: i686 Redhat Release - some questions
From: Bernhard Rosenkraenzer <bero@redhat.de>
Date: Wed, 29 Dec 1999 13:12:46 +0100 (CET)


On Wed, 29 Dec 1999, Allen Bolderoff wrote:

> I have outlined some questions regarding the redhat 6.1 i686 release. 
> 
> Please go to http://linux.netnerve.com/ and read it there.

Some things:
"We know this is not the fastest optimisations for most things, and we
will eventually progress to gcc 2.95.x which will give us slightly better
than egcs performance gains."

s/slightly/much/ - the i686 optimizations in egcs 1.1.x pretty much don't
do anything. In some cases, they even generate slower code than i386
optimizations, even on i686.
You'll want to make sure these packages don't actually get recompiled.

Also, some packages ignore RPM_OPT_FLAGS and will need patches to deal
with non-standard CFLAGS (You'll want to run some sed scripts on
/usr/src/linux/Makefile and /usr/src/linux/arch/i386/Makefile for
recompiling the kernel, for example).

"If we were to go to gcc 2.95.x we would lose compatability with the
current redhat distribution on some fronts, as quite a few packages
will have problems with the 2.95.x gcc release."

Only a few of them, and fixes are already
there. http://people.redhat.com/bero/gcc295

The only compatibility problem with gcc 2.95.2 is that it uses a much
better, but not binary compatible, version of libstdc++.
The gcc 2.95.2 package in Rawhide includes the old egcs 1.1.2 libstdc++ in
libstdc++-compat, so it's a one way problem: Packages using
libstdc++ compiled on a gcc 2.95.2 system won't work on a Red Hat Linux
6.1 system unless the user installs the new libstdc++.

LLaP
bero

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu