AMD Bulldozer Cache Aliasing Issue Fix

Published on November 04, 2011
Written by Michael Larabel
Page 1 of 3
Discuss This Article

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.

<< Previous Page
1
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Digia Announces "Boot To Qt" Project
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Wayland's Weston Gets Output Scaling Support
  4. Raspberry Pi Gets New Wayland Weston Renderer
  5. Debian GNU/Hurd 2013 Release Brings New Packages
  6. Intel Ultrabook Performance Is Faster With Mesa 9.2
  7. Hot Relocation HDD To SSD Support For Btrfs
  8. Phoronix Test Suite 4.6.0 "Utsira" Released
  9. New Intel X.Org Driver Supports All Of Haswell
  10. SQLite Now Faster With Memory Mapped I/O
  11. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
Latest Forum Talk
  1. Wayland's Weston Gets Output Scaling Support
  2. X.Org Libraries Hit By Round Of Security Issues
  3. Fedora 18 Comes To ARMv6, Raspberry Pi
  4. Radeon 7770 Can't reclock crash kernel
  5. Digia Announces "Boot To Qt" Project
  6. Raspberry Pi Gets New Wayland Weston Renderer
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite