On Thu, May 23, 2019 at 08:12:18AM +0000, Koenig, Christian wrote: > > Are you DMA-mapping the addresses outside the P2PDMA code? If so there's > > a huge mismatch with the existing users of P2PDMA (nvme-fabrics). If > > you're not dma-mapping then I can't see how it could work because the > > IOMMU should reject any requests to access those addresses. > > Well, we are using the DMA API (dma_map_resource) for this. If the P2P > code is not using this then I would rather say that the P2P code is > actually broken. > > Adding Christoph as well, cause he is usually the one discussion stuff > like that with me. Heh. Actually dma_map_resource-ish APIs are the right thing to do, but I'm not sure how you managed to be able to use it for PCIe P2P yet, as it fails to account for any difference in the PCIe level "physical" address with the hosts view of "physical" addresses. Do these offsets now how up on AMD platforms? Do you adjust for them elsewhere?