i686 ---> i586, i386 ---> i586, x86_64 stays the same

Will Woods wwoods at redhat.com
Sun Apr 5 21:12:47 UTC 2009


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.




More information about the fedora-test-list mailing list