1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Optimizing Marvell Graphics With iwMMXt

Compiler

Published on 06 July 2012 10:02 AM EDT
Written by Michael Larabel in Compiler
4 Comments

Thanks in large part to iwMMXt fixes/improvements found in GCC 4.8, the ARM Marvell graphics performance will be much-improved, which will benefit the OLPC XO-1.75.

Matt Turner, the student developer who previously worked on a 3Dlabs KMS driver, began working on optimizing the (Marvell) ARM graphics performance last summer to benefit the One Laptop Per Child XO-1.75 notebook.

As outlined today on Matt's blog, "I started working with Chris and Jon Nettleton on improving the graphics performance of the ARM-based XO 1.75 laptop. The graphics drivers were in a state of flux, and in a number of cases the Sugar interface felt noticeably slower than on the VIA-powered XO 1.5. We wanted to know why it was slower and how to quantitatively measure graphics performance of real-world applications."

What Matt Turner ended up focusing upon for the XO-1.75 graphics optimizations were allowing Pixman's MMX-optimized compositing functions to work on the OLPC ARM hardware. Marvell's Sheeva ARM SoC as used in the XO-1.75 is based upon Intel's XScale ARM architecture that Marvell acquired.

Thanks to the Intel lineage, the ARM SoC features the iwMMXt SIMD instruction set, which is effectively compatible with Intel x86 MMX. In one hit, x86/MMX and ARM/iwMMXt can be targeted. With Pixman already having the MMX optimizations, Matt focused on making them work for the OLPC ARM target with iwMMXt.

Unfortunately, the GCC support for iwMMXt had regressed with it not being tested since the Intel XScale days. As a result, Turner had to fix the GCC support, which he patched, Marvell also provided GCC improvements for iwMMXt scheduling and support. Therefore with GCC 4.8 will be improved iwMMXt code generation support. Thanks to this, the graphics performance goes up to benefit the OLPC XO-1.75. Some positive benchmark results are shared in Matt's aforementioned blog post.

There's also an unfortunate problem in this situation, illustrating another problem with American universities. As said on Matt's blog about his GCC patch to fix iwMMXt support, "I submitted a small patch to fix the problem, but my school (NC State) took eight months to acknowledge that they don't own my work, and by that time Marvell had contributed a five-patch series to significantly improve iwMMXt scheduling and support." So it took over a half-year for North Carolina State University to let Matt submit a patch to the GPLv3-licensed GNU Compiler Collection. (Had this not happened, his patch could have already landed with GCC 4.7.)

With having around an OLPC XO-1.75, it looks like it's time to run some new benchmarks.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Acer B286HK: A 28-inch UHD LED 4K Monitor For As Low As $350
  2. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  3. Intel 120GB 530 Series SSD Linux Performance
  4. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
Latest Linux Articles
  1. Mesa Git Yields Performance Improvements For Newer AMD GPUs
  2. Apple OS X 10.10 vs. Ubuntu 14.10 Performance
  3. Mesa 10.5-devel Brings Some Intel Haswell HD Graphics Changes Over Mesa 10.3
  4. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
Latest Linux News
  1. NVIDIA Posts Tegra Gallium3D Patch For K1+ Support
  2. Ubuntu 14.10 MacBook Air Tests With Linux 3.18, Mesa 10.5
  3. AMD Richland APU Support Added To Coreboot
  4. 2014 Holiday Shopping Reminder, Happy Thanksgiving
  5. Python 3 Support Added To The GNOME Shell
  6. ReactOS Lands Its New Explorer Shell
  7. Weston's IVI Shell Sees New Version
  8. IMP Launches As Another Open-Source Computer Attempt
  9. Git 2.2.0 Released With 550+ Changes
  10. GNOME 3.15.2 Released
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. Hurrican SDL Port
  3. Roadmap to Catalyst 14.10 ?
  4. how to configure module phoromatic ?
  5. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  6. Debian Developer Resigns From The Systemd Maintainership Team
  7. Cant get working Kaveri APU - A10-7850k
  8. Script for Fan Speed Control