VOOZH about

URL: https://www.phoronix.com/news/Intel-Xe-Map-DMA-BUFs-IOV

⇱ Intel Xe Driver Patches Allow For Mapping DMA-BUFs Via IOV Interconnects - Phoronix


👁 Phoronix

Intel Xe Driver Patches Allow For Mapping DMA-BUFs Via IOV Interconnects

Written by Michael Larabel in Intel on 27 October 2025 at 06:11 AM EDT. Add A Comment
In addition to the patches sent out this weekend by Intel for Xe driver preparations for multi-device Shared Virtual Machine (multi-device SVM), another notable patch series making it out this weekend for the Intel Xe open-source kernel graphics driver is support for mapping DMA-BUFs via IOV interconnects.

This is yet another component to their work around proper SR-IOV support for their latest Arc Pro B-Series graphics cards and ensuring an optimal "Project Battlematrix" experience for multiple GPUs and supporting virtualization.

👁 Project Battlematrix slide


The set of patches posted overnight allow for mapping DMA-BUFs via interconnects. Beyond that initial groundwork, the patches go through with adding support for mapping DMA-BUFs with IOV interconnects to the VFIO PCI driver and the Intel Xe DRM driver. This should help with a more performant and more efficient experience for sharing of buffers in a SR-IOV virtualized environment.

The patch series from Vivek Kasireddy explains:
"In a typical dma-buf use case, a dmabuf exporter makes its buffer buffer available to an importer by mapping it using DMA APIs such as dma_map_sgtable() or dma_map_resource(). However, this is not desirable in some cases where the exporter and importer are directly connected via a physical or virtual link (or interconnect) and the importer can access the buffer without having it DMA mapped.

So, to address this scenario, this patch series adds APIs to map/unmap dmabufs via interconnects and also provides a helper to identify the first common interconnect between the exporter and importer. Furthermore, this patch series also adds support for IOV interconnect in the vfio-pci driver and Intel Xe driver.

The IOV interconnect is a virtual interconnect between an SRIOV physical function (PF) and its virtual functions (VFs). And, for the IOV interconnect, the addresses associated with a buffer are shared using an xarray (instead of an sg_table) that is populated with entries of type struct range."

Great seeing their different Project Battlematrix pieces coming together for their open-source Linux driver stack.

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.