On 23/03/18 03:50 PM, Bjorn Helgaas wrote: > Popping way up the stack, my original point was that I'm trying to > remove restrictions on what devices can participate in peer-to-peer > DMA. I think it's fairly clear that in conventional PCI, any devices > in the same PCI hierarchy, i.e., below the same host-to-PCI bridge, > should be able to DMA to each other. Yup, we are working on this. > The routing behavior of PCIe is supposed to be compatible with > conventional PCI, and I would argue that this effectively requires > multi-function PCIe devices to have the internal routing required to > avoid the route-to-self issue. That would be very nice but many devices do not support the internal route. We've had to work around this in the past and as I mentioned earlier that NVMe devices have a flag indicating support. However, if a device wants to be involved in P2P it must support it and we can exclude devices that don't support it by simply not enabling their drivers. Logan