Line 49: | Line 49: | ||
== How To Test == | == How To Test == | ||
Ensure that all packages are built for i686. | |||
Additional testing could benchmark apps to see any difference in code size and app speed. | |||
== User Experience == | == User Experience == |
Revision as of 17:31, 15 June 2009
Fedora 12 x86 Support
Summary
With Fedora 11, we moved the base architecture to i586. With Fedora 12, we are changing the base architecture to a specific i686 instruction set level.
Owner
- Name: Bill Nottingham
- email: notting@redhat.com
Current status
- Targeted release: Fedora 42
- Last updated: 2009-06-15
- Percentage of completion: 0% (work will not proceed until a decision is made; the work itself is not complex)
Detailed Description
Fedora 11 has i586 as the base 32-bit x86 architecture.
For Fedora 12, we will switch to i686 + SSE2 as the base architecture.
This means we will lose support for the following CPU families:
- Intel i586 (all)
- Intel Pentium Pro
- Intel Pentium II
- Intel Pentium III
- 32-bit AMD Athlon
- AMD Geode
- VIA C3
- Transmeta Crusoe
Benefit to Fedora
- Faster binaries on mainstream architectures (Pentium M, Via C7, all 64-bit arches, Atom)
- Ability to use GCC's autovectorization to improve performance
- By using SSE2, we provide more consistent and faster floating-point math results
- Clarifies our support targets more clearly,
Scope
- The default 32-bit x86 target in koji would be changed from i386 to i686
- The kernel would build a kernel and kernel-PAE package for i686
- The default compiler flags for gcc in redhat-rpm-config would be changed as follows:
- i386: -march=i686 -mtune=generic -mfpmath=sse -msse2
- A mass rebuild would need to be done for the RPM architecture changes and the compiler flag changes
How To Test
Ensure that all packages are built for i686.
Additional testing could benchmark apps to see any difference in code size and app speed.
User Experience
The 32-bit x86 distro should be faster; basic benchmarks show at least a 1% improvement in generic code, even without autovectorization.
Dependencies
- gcc and redhat-rpm-config would need changed for the default compiler flags
- koji configuration would need a tweak for the default architecture
- the kernel would need to change its package output
Contingency Plan
If necessary, we can revert to providing i586 binaries. However, once we start a mass rebuild, this would require another mass rebuild to undo.
Documentation
There should not be any required.
Release Notes
A restating of the 'detailed description' above should be sufficient.