DMA-BUF Cross-Device Synchronization Hits Linux 3.17

Written by Michael Larabel in Linux Kernel on 5 August 2014 at 08:35 AM EDT. 13 Comments
LINUX KERNEL
The work that was ongoing for months to provide DMA-BUF cross-device synchronization and fencing is finally landing with the Linux 3.17 kernel.

The patches by Maarten Lankhorst for DMA-BUF cross-device synchronization were up to eighteen revisions and are now finally in a condition to be merged with Linux 3.17 via the driver core subsystem pull. DMA-BUF has now proper fence and poll support along with other new functionality that affects many different kernel drivers. For Phoronix readers, one of the benefits of DMA-BUF cross-device synchronization is to reduce tearing when sharing buffers between multiple GPU DRM drivers.

A fence in the context of DMA-BUF as described by Maarten is, "a fence can be attached to a buffer which is being filled or consumed by hardware, to allow userspace to pass the buffer without waiting to another device. For example, userspace can call page_flip ioctl to display the next frame of graphics after kicking the GPU but while the GPU is still rendering. The display device sharing the buffer with the GPU would attach a callback to get notified when the GPU's rendering-complete IRQ fires, to update the scan-out address of the display, without having to wake up userspace."

The new DMA-BUF code is landing in Linux 3.17 via the driver core pull request.
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