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 Benchmarking Platform
Phoromatic Test Orchestration

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. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  2. The Lenovo T450s Is Working Beautifully With Linux
  3. Linux 4.0 SSD EXT4 / Btrfs / XFS / F2FS Benchmarks
  4. Linux 4.0 Hard Drive Comparison With Six File-Systems
  5. Lenovo ThinkPad T450s Broadwell Preview
  6. How Open-Source Allowed Valve To Implement VULKAN Much Faster On The Source 2 Engine
Latest Linux News
  1. AMD Releases New "AMDGPU" Linux Kernel Driver & Mesa Support
  2. A Gigabyte Sandy/Ivy Bridge Motherboard Now Handled By Coreboot
  3. Linux 3.16 Through Linux 4.0 Performance Benchmarks
  4. Intel's Windows Driver Now Supports OpenGL 4.4, Linux Driver Still With OpenGL 3.3
  5. DRM Graphics Updates Sent In For The Linux 4.1 Kernel
  6. More eBPF Improvements Heading To Linux 4.1
  7. LLDB Is Getting Into Shape For Linux 64-bit Debugging
  8. Wine-Staging 1.7.41 Works On Improved Debugging Support
  9. GNOME 3.18 Release Schedule: 23 September Release
  10. Library Operating System (LibOS) For Linux Still Being Pursued
Most Viewed News This Week
  1. Nouveau: NVIDIA's New Hardware Is "VERY Open-Source Unfriendly"
  2. Linux 4.1 Brings Many Potentially Risky x86/ASM Changes
  3. Microsoft Announces An LLVM-Based Compiler For .NET
  4. LibreOffice 4.5 Bumped To Become LibreOffice 5.0
  5. Linux Audio Is Being Further Modernized With The 4.1 Kernel
  6. KDBUS Is Taking A Lot Of Heat, Might Be Delayed From Mainline Linux Kernel
  7. VirtualBox 5.0 Beta 2 Released
  8. Mozilla Start Drafting Plans To Deprecate Insecure HTTP