Testing Intel Sandy Bridge LLC Cache Controls

Posted by Michael Larabel on July 27, 2012

Keith Packard has been playing around with LLC controls on Sandy Bridge to see how caching back-buffers affect application performance with the Intel Linux graphics driver. He has provided an Intel DRM driver patch for those wishing to experiment.

On Thursday was a rare blog post by Keith Packard to his KeithP.com blog about Sandy Bridge LLC caching.
What I wanted to know was how caching backbuffers affects application performance. The reason for this question is that when the driver uses page flipping to display a new frame, we force the new scanout buffer to be uncached because the display hardware only scans out from main memory. However, when we go back to using this buffer as the next back-buffer, we don’t turn the caching bits back on as that requires writing GTT entries to change caching modes.

This means that swapping via page-flipping and swapping via copying has a large change in main memory access patterns during rendering — page flipping applications use an uncached back buffer while copying applications use a cached back buffer.
Keith proceeded to make a kernel patch that can still utilize the existing code, change to flipping back and forth, and then flushing to memory but not disable caching. His blog post describes these modes in more detail. He ran some glxgears and Nexuiz benchmarks with the patch; with his Nexuiz benchmark on Sandy Bridge with the different caching modes he found: "None significantly faster, none significantly slower."

He ended his blog post with, "So, for these two tests, caching has no positive effect on overall rendering performance. Obviously, I need to collect data from more applications to see if the effect is general. I sure hope so, because the alternative will be to find some heuristic to direct when to enable caching."

Having a simple patch to go against the Intel DRM driver from the Linux 3.5 kernel, and craving some new Linux benchmarks now that I returned from Munich last night, I ran some more OpenGL tests this morning from a Sandy Bridge notebook today.

The results are from the stock Linux 3.5 kernel configuration and then adjusting the JUST_FLUSH and FLIP_CACHING defines with Keith's patch from his blog post to hit the different code-paths for the caching modes. A Core i5 "Sandy Bridge" notebook was used running the Ubuntu 12.10 development snapshot from this morning and then the modified stable Linux 3.5 kernels and Git master from today on Mesa 8.1-devel, xf86-video-intel 2.20.2, and libdrm.

Here are these quick benchmarks:

The results seem just like Keith's results: the caching was of no benefit to the overall OpenGL performance on the Intel Core i5 Sandy Bridge.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
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. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. FreeBSD Still Working On Next-Gen Package Manager
  2. DNF Still Advancing As Experimental Yum For Fedora
  3. Logitech Begins Supporting Linux Users
  4. Modern Intel Gallium3D Driver Still Being Toyed With
  5. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  6. GCC 4.8.1 Compiler Due To Be Out Next Week
  7. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  8. Linux's "Ondemand" Governor Is No Longer Fit
  9. Firefox 22 Beta Enables WebRTC Support
  10. OpenSUSE 13.1 Milestone 1 Released
  11. DRM Graphics Driver Comes For Dove/Cubox
Latest Forum Talk
  1. Sumo Lounge Emperor
  2. KDE's Krita Ported To OpenGL 3.1, OpenGL ES 2.0
  3. DNF Still Advancing As Experimental Yum For Fedora
  4. FreeBSD Still Working On Next-Gen Package Manager
  5. Ubuntu 13.10 Likely Switching To Chromium Browser
  6. Logitech Begins Supporting Linux Users
  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