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

Antonio Olivares olivares14031 at yahoo.com
Sun Apr 5 21:29:07 UTC 2009





--- On Sun, 4/5/09, Will Woods <wwoods at redhat.com> wrote:

> From: Will Woods <wwoods at redhat.com>
> Subject: Re: i686 ---> i586, i386 ---> i586, x86_64 stays the same
> To: olivares14031 at yahoo.com, "For testers of Fedora Core development releases" <fedora-test-list at 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 


      




More information about the fedora-test-list mailing list