Supporting Architectures above armv5tel
Project Name
Supporting Architectures Above armv5tel
Project Description
The armv5tel architecture version is supported by some common devices such as the Marvell Feroceon processors used in most plug computers. However, later versions of the architecture support advanced features, and using armv5tel code on those processors may result in suboptimal performance.
This project will research ways that Fedora-ARM could support higher processor versions effectively without recompiling the entire Fedora package universe -- for example, by providing an armv7 + hardfp glibc and kernel. This involves performance testing across multiple devices.
Project Leader(s)
Project Contributor(s)
IRC:
#ubuntu-arm (persia)
#gentoo-embedded (solar and steev_)
Project Details
This project aims to test the significance of technologies that exist in ARMv7 architecture by conducting different benchmark techniques and compiler optimisation. This project covers performance comparison between ARMv5 and ARMv7. Results can help the Fedora community decide on how to go about with the compilation of the fedora universe on ARMv7 devices.
ARMv7 Technologies:
There are currently 2 ARMv7 (beagleboard & beagleboard XM) builders in the Fedora ARM farm. These builders are running builds on ARMv5tel architecture which means optimum performance is not achieved.
Project Plan
Goals for each release:
- 0.1 Optimize and run a benchmark program specifically designed to make use of
glibc
Any packages compiled for the beagleboards can be installed without optimization. So far, in the case of cdot-beagleXM-0-3
packages are compiled without it. In order to make use of ARMv7 architecture features, editing the CFLAGS
to use arm
optimization options will let the compiler attempt to improve the performance and/or code size of the program.
There has been a big focus on arm specific options for gcc recently. In gcc-4.4 the value vfpv3
for the -mfpu
option was included. More updates are expected for gcc as more and more companies focus their sights on ARM processors.
Dhrystone is selected as the benchmark program for this release. Several reasons make Dhrystone a good program to test the general processor performance of the beagleboardXM.
Reasons for using Dhrystone
- ARM® recognizes the program and uses it as a performance attribute of their processors.
- Dhrystone provides a more meaningful MIPS (Million Instructions Per Second) because results are compared to a reference machine.
- Dhrystone numbers reflect the performance of the C compiler and libraries more so than the performance of the processor itself. (considered as a weakness of the program)
Test Result:
- 0.2
- 0.3
Things to learn
-Ways of benchmarking ARM processors
-gcc install options
-Compiling kernel and glibc
-Familiarization with ARM hardware
Project News
November 4th, 2010 - Compiler optimization options ready for testing, project page updated
October 19th, 2010 - Chris Tyler explained more about the project, including goal 0.1
October 15th, 2010 - Project page updated (Things to learn)