Part 1 of this series, covered some
background on ION, DMA-BUF heaps, the DMA API, and the concept of
“ownership” when it comes to handling CPU-cache maintenance, finally ending
on a conventional DMA API view of how DMA-BUF cache handling should be
done. The article concluded with a discussion of why the traditional DMA
APIs can perform poorly on contemporary systems. This article completes
the series with an exploration of
some of the approaches that DMA-BUF exporters can use to avoid
unnecessary cache operations along with some rough proposals for how we
might improve things.
Source: LWN.net – [$] DMA-BUF cache handling: Off the DMA API map (part 2)