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. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  2. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  3. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
  4. CS:GO & TF2 Extensively Tested On The Newest Open-Source Radeon Linux Driver
Latest Linux News
  1. HHVM 3.4 Adds New Features, Support
  2. More Radeon Driver Changes Queued For Linux 3.19
  3. Unigine 2.0 Alpha 2 Adds C# Support
  4. FFmpeg Is Returning To Ubuntu With 15.04 Release
  5. Linux Version Of Civilization: Beyond Earth Still Coming Along
  6. Yahoo To Become Default Search Provider For Firefox
  7. Better Fan Control Support Coming To The Open-Source Radeon Driver
  8. PTS 5.4 Milestone 6 Released - Official "Lipki" Release Is Near
  9. Ian Jackson Resigns From The Debian Technical Committee
  10. Valve's VOGL Is Finally Back To Having New Commits, OS X Support
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. Debian Init System Coupling Vote Results
  3. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  4. Debian Developer Resigns From The Systemd Maintainership Team
  5. How to get rid of Linux
  6. how to configure module phoromatic ?
  7. Major Performance Breakthrough Discovered For Intel's Mesa Driver
  8. Script for Fan Speed Control