Re: [PATCH v2 00/10] Copy Offload in NVMe Fabrics with P2P PCI Memory

Logan Gunthorpe
2018-03-01T19:33:59Z

On 01/03/18 03:31 AM, Sagi Grimberg wrote:
>> * We also reject using devices that employ 'dma_virt_ops' which should
>>    fairly simply handle Jason's concerns that this work might break with
>>    the HFI, QIB and rxe drivers that use the virtual ops to implement
>>    their own special DMA operations.
>
> That's good, but what would happen for these devices? simply fail the
> mapping causing the ulp to fail its rdma operation? I would think
> that we need a capability flag for devices that support it.

pci_p2pmem_find() will simply not return any devices when any client
that uses dma_virt_ops. So in the NVMe target case it simply will not
use P2P memory.

And just in case, pci_p2pdma_map_sg() will also return 0 if the device
passed to it uses dma_virt_ops as well. So if someone bypasses
pci_p2pmem_find() they will get a failure during map.

Logan