From Fedora Project Wiki
(New page: = ArchitectureSupport = == Summary == Change what architectures Fedora supports, and what Fedora provides on those architectures. == Owner == * Name: Bill Nottingham * ...)
 
m (Removing QA category)
 
(16 intermediate revisions by 5 users not shown)
Line 7: Line 7:
* Name: [[User:notting| Bill Nottingham]]
* Name: [[User:notting| Bill Nottingham]]
* Name: [[User:notting| Jakub Jelinek]]
* Name: [[User:notting| Jakub Jelinek]]
* Name: [[User:kylem| Kyle McMartin]]
* Name: [[User:kyle| Kyle McMartin]]
 
* email: notting@redhat.com, jakub@redhat.com, kmcmartin@redhat.com
* email: notting@redhat.com, jakub@redhat.com, kmcmartin@redhat.com


== Current status ==
== Current status ==
* Targeted release: [[Releases/11 | Fedora 11 ]]
* Targeted release: [[Releases/11 | Fedora 11 ]]
* Last updated: 2009-01-28
* Last updated: 2009-03-05
* Percentage of completion: 0%
* Percentage of completion: 100%


== Detailed Description ==
== Detailed Description ==
Line 22: Line 21:


The main user-visible changes would be:
The main user-visible changes would be:
* 32-bit x86 would be built for i686 by default. 586-compatible processors would no longer be supported.
* 32-bit x86 would be built for i586 by default.
* The x86_64 kernel would be installed on compatible hardware, even when installing a 32-bit OS
* The PAE kernel would be installed on other 32-bit hardware, where it is supported
* The PAE kernel would be installed on other 32-bit hardware, where it is supported


The 32-bit LiveCD would remain using a 32-bit kernel, in all likelyhood.
== Benefit to Fedora ==
By optimizing better for the architectures which we support, we give better performance
to our users.


== Benefit to Fedora ==
By using the PAE kernel where appropriate, we allow features like ExecShield to be used.
By clearly defining what architectures and CPUs we support, we eliminate
user confusion about our target.


By optimizing better for those architectures, we give better performance
By changing the minimum kernel for glibc, we allow the removal of various hacks, tests, and workarounds in the glibc code.
to our users.


== Scope ==
== Scope ==
* The default 32-bit x86 target in koji would be changed from i386 to i686
* The default 32-bit x86 target in koji would be changed from i386 to i586
* mash and pungi would be changed to ship the x86_64 kernel on 32-bit x86
* yum and anaconda would need changes to select the proper kernel
* yum and anaconda would need changes to select the proper kernel
* anaconda will need an override to install the 32-bit kernel on x86_64 hardware, if for no other reason than to be able to test the 32-bit kernel
* syslinux/isolinux may need changes to boot the proper kernel for the installer
* The default compiler flags for gcc in redhat-rpm-config would be changed as follows:
* The default compiler flags for gcc in redhat-rpm-config would be changed as follows:
** i386: -march=i586 -mtune=generic
** i386: -march=i586 -mtune=generic
** s390x: -march=z9-109 -mtune=z10
** s390x: -march=z9-109 -mtune=z10
* The required kernel for glibc would be changed to 2.6.18
* The required kernel for glibc would be changed to 2.6.18
 
* binutils for ix86 would be compiled to support x86_64 output
* A mass rebuild would need to be done for the RPM architecture changes and the compiler flag changes
 
== How To Test ==
== How To Test ==
Boot Fedora on supported hardware. Make sure it boots and nothing dies with
SIGILL. Particular care should go to testing XO hardware, as it's likely
to be the least capable CPU supported.
Install 32-bit Fedora on x86_64 hardware. Make sure the x86_64 kernel is
installed.
Install 32-bit Fedora on PAE-supporting 32-bit hardware (in other words:
Install 32-bit Fedora on PAE-supporting 32-bit hardware (in other words:
Pentium II/III/4, or Atom.) Make sure the PAE kernel is the default.
Pentium II/III/4, or Atom.) Make sure the PAE kernel is the default.
Line 61: Line 50:


== User Experience ==
== User Experience ==
Users of x86_64 hardware should notice a better experience in that they
are running a kernel that no longer has to worry about low memory, high
memory, etc.
Users of the x86 distribution should notice slight speed improvements.
Users of the x86 distribution should notice slight speed improvements.


Line 75: Line 60:


For x86_64-on-32: do not ship x86_64 on 32-bit x86, only ship 32-bit
For x86_64-on-32: do not ship x86_64 on 32-bit x86, only ship 32-bit
kernels.
kernels. This contingency plan has been enacted.


For PAE-on-32: default to the normal i686 kernel, with PAE an option.
For PAE-on-32: default to the normal i686 kernel, with PAE an option.


== Documentation ==
== Documentation ==
None specifically.
* None specifically.


== Release Notes ==
== Release Notes ==
In Fedora 11, the following changes have been made to architecture support:
In Fedora 11, the following changes have been made to architecture support:


* i586 CPUs are no longer supported. Fedora requires at least a i686 compatible CPU.
* By default, the x86_64 kernel will be installed and used on compatible hardware, even when installing a 32-bit operating system
* By default, the PAE kernel will be used on 32-bit hardware, where appropriate
* By default, the PAE kernel will be used on 32-bit hardware, where appropriate


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/ArchitectureSupport]]
* See [[Talk:Features/ArchitectureSupport]]


----
[[Category:FeatureAcceptedF11]]


[[Category:FeaturePageIncomplete]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to
<!-- remove Category:FeaturePageIncomplete and change it to

Latest revision as of 17:29, 17 April 2009

ArchitectureSupport

Summary

Change what architectures Fedora supports, and what Fedora provides on those architectures.

Owner

Current status

  • Targeted release: Fedora 11
  • Last updated: 2009-03-05
  • Percentage of completion: 100%

Detailed Description

For Fedora 11, we'd like to revisit what architectures Fedora supports, and change some of our defaults so that we work better on those architectures.

The main user-visible changes would be:

  • 32-bit x86 would be built for i586 by default.
  • The PAE kernel would be installed on other 32-bit hardware, where it is supported

Benefit to Fedora

By optimizing better for the architectures which we support, we give better performance to our users.

By using the PAE kernel where appropriate, we allow features like ExecShield to be used.

By changing the minimum kernel for glibc, we allow the removal of various hacks, tests, and workarounds in the glibc code.

Scope

  • The default 32-bit x86 target in koji would be changed from i386 to i586
  • yum and anaconda would need changes to select the proper kernel
  • The default compiler flags for gcc in redhat-rpm-config would be changed as follows:
    • i386: -march=i586 -mtune=generic
    • s390x: -march=z9-109 -mtune=z10
  • The required kernel for glibc would be changed to 2.6.18
  • binutils for ix86 would be compiled to support x86_64 output
  • A mass rebuild would need to be done for the RPM architecture changes and the compiler flag changes

How To Test

Install 32-bit Fedora on PAE-supporting 32-bit hardware (in other words: Pentium II/III/4, or Atom.) Make sure the PAE kernel is the default.

Additional testing could benchmark apps to see any difference in code size and app speed.

User Experience

Users of the x86 distribution should notice slight speed improvements.

Dependencies

No external dependencies outside the changes listed in Scope.

Contingency Plan

For compiler flags and default RPM architecture: if we need to change after the mass rebuild, we'd need another mass rebuild.

For x86_64-on-32: do not ship x86_64 on 32-bit x86, only ship 32-bit kernels. This contingency plan has been enacted.

For PAE-on-32: default to the normal i686 kernel, with PAE an option.

Documentation

  • None specifically.

Release Notes

In Fedora 11, the following changes have been made to architecture support:

  • By default, the PAE kernel will be used on 32-bit hardware, where appropriate

Comments and Discussion