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 Articles & Reviews
  1. Ubuntu vs. Fedora Linux On Lenovo's X1 Carbon With Core i7 Broadwell
  2. Ubuntu 15.04 Is The Easy Path To Better Performance On Intel Broadwell
  3. NVIDIA's Latest Maxwell Line-Up Against AMD With Catalyst On Linux
  4. Preliminary Tests Of Intel Sandy Bridge & Ivy Bridge vs. Broadwell
  5. AMD FX-8320E Performance On Linux
  6. Linux Compiler Benchmarks Of LLVM Clang 3.5 vs. LLVM Clang 3.6-rc1
Latest Linux News
  1. DNF Plugins Extend The Functionality Of Fedora's Yum Successor
  2. LibreOffice 4.4 Released With Better OOXML Support, UI Improvements
  3. Inkscape 0.91 Goes Through C++ Code Conversion, New Cairo Rendering, OpenMP Filters
  4. New Mesa Patch To Improve CPU-Bound Applications
  5. LLVM Adds Options To Do Fuzz Testing
  6. Coreboot Now Supports Another Dual-Socket AMD Motherboard
  7. Atomic Mode-Setting/Display Support Progresses In Linux 3.20
  8. NVIDIA 340.76 Brings Three Stable Fixes
  9. Intel Broadwell-U P-State vs. ACPI CPUFreq Scaling Linux Performance
  10. DragonFlyBSD Is Almost To Linux 3.10 Era Intel Graphics Support
Most Viewed News This Week
  1. LibreOffice 4.4 Is Coming Soon With New Features
  2. My Initial Intel Broadwell Linux Experience With The ThinkPad X1 Carbon
  3. Broadwell Linux Ultrabook Running MUCH Cooler Than Haswell
  4. LZHAM 1.0 Lossless Data Compression Codec Released
  5. Linux Users Upset By Chromium's Busted HiDPI Support
  6. Interstellar Marines On Linux With Catalyst: Bull S*#@
  7. Faster VP9 Decoding Is On The Horizon
  8. Radeon DRM Changes For The Linux 3.20 Kernel