A TTM Graphics Performance Fix To Go Into Linux 3.14

Written by Michael Larabel in Linux Kernel on 12 March 2014 at 10:26 AM EDT. 1 Comment
LINUX KERNEL
While it's late into the Linux 3.14 kernel development cycle, a patch that was introduced in Linux 3.13 with an aim of improving open-source graphics driver performance for TTM-based drivers is now being reverted since for some situations it instead decreased the performance.

Thomas Hellstrom of VMware wrote in the patch description on the DRI-devel mailing list, "A performance regression was introduced in TTM in linux 3.13 when we started using VM_PFNMAP for shared mappings. In theory this should've been faster due to less page book-keeping but it appears like VM_PFNMAP + x86 PAT + write-combine is a particularly cpu-hungry combination, as seen by largely increased cpu-usage on r200 GL video playback. Until we've sorted out why, revert to always use VM_MIXEDMAP."

The main bug leading to this Translation Table Maps memory management change being reverted was FreeDesktop.org Bug 75719. Since this Linux 3.13 TTM change, for an old ATI Radeon R200 GPU when using MPlayer video playback with the OpenGL renderer the CPU performance would get chewed up with high processor utilization.

Reverting the TTM change has now been sent in as the only patch of the ttm-fixes-3.14 pull request for landing it in time for Linux 3.14 for other users of the TTM-based DRM drivers that may have also run into performance issues.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week