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

AMD Bulldozer Cache Aliasing Issue Fix

Michael Larabel

Published on 4 November 2011
Written by Michael Larabel
Page 1 of 3 - 3 Comments

The "AMD F15h cache aliasing issue" fixes have landed, which address cache aliasing penalties for AMD Bulldozer (Family 15h) processors. This can lead to performance improvements for some workloads.

Merged into the Linux 3.2 kernel is the patch-set that provides the cache aliasing fixes for AMD's new Bulldozer processors. Borislav Petkov, the open-source Linux developer out of AMD's Munich office, has been working on this patch-set for several months. Below is the commit message from Petkov that explains what this work is about.

This patch provides performance tuning for the "Bulldozer" CPU. With its shared instruction cache there is a chance of generating an excessive number of cache cross-invalidates when running specific workloads on the cores of a compute module.

This excessive amount of cross-invalidations can be observed if cache lines backed by shared physical memory alias in bits [14:12] of their virtual addresses, as those bits are used for the index generation.

This patch addresses the issue by clearing all the bits in the [14:12] slice of the file mapping's virtual address at generation time, thus forcing those bits the same for all mappings of a single shared library across processes and, in doing so, avoids instruction cache aliases.

It also adds the command line option "align_va_addr=(32|64|on|off)" with which virtual address alignment can be enabled for 32-bit or 64-bit x86 individually, or both, or be completely disabled.

Borislav Petkov reported on the kernel mailing list back in July that depending upon the situation that the AMD system performance could be improved by a few percent with this patch.

This work has officially landed into the Linux 3.2 kernel. Petkov also provided patches on Friday morning to the mailing list for integration into the stable Linux 3.0 and Linux 3.1 series, thus should appear soon in point releases for those series. This work only affects AMD 15h CPUs by default, which are the Bulldozer processors. The IC aliasing issue patch originally was posted to the Linux kernel mailing list back in July, but back then Linus Torvalds was unhappy with the first version. He referred to the work as a small disaster, but now it's mainline.

Back when receiving the AMD FX-8150 Bulldozer, I ran some tests with the earlier aliasing issue patch on the Linux 3.1 kernel to see if there were performance improvements for the usual Linux benchmarking workload. Those results are on the next pages.

Latest Articles & Reviews
  1. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  2. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  3. The New Place Where Linux Code Is Constantly Being Benchmarked
  4. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  5. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  6. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
Latest Linux News
  1. Debian 8.0 Jessie RC2 Installer Released
  2. Shadow Warrior Is Being Released For Linux Next Week
  3. Intel Pushes A Bunch Of Broadwell Code Into Coreboot
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. GHC 7.10.1 Brings New Compiler Features
  6. Git 2.4.0-rc0 Does A Ton Of Polishing
  7. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  8. Mesa Is At Nearly 1,500 Commits This Year
  9. Gestures & Other GTK3 Features For LibreOffice
  10. It's Now Easier To Try PHP 7 On Fedora & RHEL
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. GNOME Shell & Mutter 3.16.0 Released
  5. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver
  8. GCC 5 Compiler Is Getting Close To Being Released