From: Will Woods <wwoods(a)redhat.com>
Subject: Re: i686 ---> i586, i386 ---> i586, x86_64 stays the same
To: olivares14031(a)yahoo.com, "For testers of Fedora Core development releases"
<fedora-test-list(a)redhat.com>
Date: Sunday, April 5, 2009, 2:12 PM
On Sun, 2009-04-05 at 12:15 -0700, Antonio Olivares wrote:
> Dear fellow testers,
>
> I am sorry to ask, but I read about the changes on
i686 moving to i586
> and the i386 packages to i586. I had known prior to
this that
>
> i686 ---> Pentium computer PIII, PIV, Intel based
CPU
> i586 ---> AMD athlon, other AMD capable computer
Incorrect. Basically all modern 32-bit CPUs (Intel, AMD, or
otherwise)
are i686-capable, with a few notable exceptions (VIA C7,
AMD Geode,
etc.) that are i586.
The only real difference between i586 and i686 is that i686
adds a small
set of instructions (CMOV) which actually perform *worse*
than the i586
equivalents on most[1] modern (post-Pentium Pro) hardware.
So,
practically speaking, there's no difference.
See
http://qa-rockstar.livejournal.com/7478.html for some
details.
> The default 32-bit x86 target in koji would be changed
from i386 to i586
>
http://fedoraproject.org/wiki/Features/ArchitectureSupport
>
> I assume this is only temporary as after this release
it will go back
> to i686 right?
Nope. You're confusing the two things that we're
changing:
1) The CPU instruction set used for userspace code (the
thing in the RPM
filename, usually .i386.rpm), and
2) The instruction set that we use for the kernel (the
thing that shows
up in uname -m.. usually i686)
For Fedora 11, we are moving all RPM packages from i386 to
i586 -
including the basic kernel package. So instead of building
kernel.i386,
kernel.i586, and kernel.i686, we're only building
kernel.i586.
If your CPU supports PAE and NX[2] (or you have >4GB
RAM), anaconda will
install kernel-PAE.i686 - otherwise the basic kernel.i586
package will
be used[3].
Please note that we're only changing the *instruction
set*. We're *not*
"optimizing for i586" - we actually *optimize*
the code for common,
modern processors like Pentium 4 and Intel Core. And
that's not
changing.
Does that help?
-w
[1] In-order CPUs (like Intel's Atom) do benefit from
CMOV.
[2] grep 'flags.* pae' /proc/cpuinfo | grep -wq nx
&& echo 'kernel-PAE'
[3] F10 and earlier systems with kernel.i686 will get
kernel.i586 as an
upgrade - if your system is PAE capable you might want to
install
kernel-PAE manually, since using PAE+NX *is* a significant
performance
benefit.
Thanks to all who have respondend, Will, Drago1, Cornel, I understand this a bit better.
I wondered why Fedora was a bit different from the others having an i686 kernel, an i586
one and an i386 one as well. I see also that for instance Slackware uses i486 packages
which means serve older computers i386 and above while others like Mandriva and OpenSuse
use i586 mainly and now Fedora is doing the same.
However for Fedora 12, some of those i586 packages will be rebuilt for i686 right? I
think I read somewhere about that.
Regards,
Antonio