On Thu, Jan 05, 2017 at 02:54:24PM -0500, Jerome Glisse wrote: > Mellanox and NVidia support peer to peer with what they market a > GPUDirect. It only works without IOMMU. It is probably not upstream : > > https://www.mail-archive.com/linux-rdma at vger.kernel.org/msg21402.html > > I thought it was but it seems it require an out of tree driver to work.
Right, it is out of tree and not under consideration for mainline. > Wether there is a vma or not isn't important to the issue anyway. If > you want to enforce VMA rule for RDMA it is an RDMA specific discussion > in which i don't want to be involve, it is not my turf :) Always having a VMA changes the discussion - the question is how to create a VMA that reprensents IO device memory, and how do DMA consumers extract the correct information from that VMA to pass to the kernel DMA API so it can setup peer-peer DMA. > What matter is the back channel API between peer-to-peer device. Like > the above patchset points out for GPU we need to be able to invalidate > a mapping at any point in time. Pining is not something we want to > live with. We have MMU notifiers to handle this today in RDMA. Async RDMA MR Invalidate like you see in the above out of tree patches is totally crazy and shouldn't be in mainline. Use ODP capable RDMA hardware. Jason