Messages in this thread | | | Subject | Re: Enabling peer to peer device transactions for PCIe devices | From | Christian König <> | Date | Thu, 24 Nov 2016 10:45:18 +0100 |
| |
Am 24.11.2016 um 00:25 schrieb Jason Gunthorpe: > There is certainly nothing about the hardware that cares > about ZONE_DEVICE vs System memory. Well that is clearly not so simple. When your ZONE_DEVICE pages describe a PCI BAR and another PCI device initiates a DMA to this address the DMA subsystem must be able to check if the interconnection really works.
E.g. it can happen that PCI device A exports it's BAR using ZONE_DEVICE. Not PCI device B (a SATA device) can directly read/write to it because it is on the same bus segment, but PCI device C (a network card for example) can't because it is on a different bus segment and the bridge can't handle P2P transactions.
We need to be able to handle such cases and fall back to bouncing buffers, but I don't see that in the DMA subsystem right now.
Regards, Christian.
| |