On Fri, Nov 06, 2020 at 07:19:31PM +0100, Christoph Hellwig wrote: > Hi Jason, > > this series switches the RDMA core to opencode the special case of > devices bypassing the DMA mapping in the RDMA ULPs. The virt ops > have caused a bit of trouble due to the P2P code node working with > them due to the fact that we'd do two dma mapping iterations for a > single I/O, but also are a bit of layering violation and lead to > more code than necessary. > > Tested with nvme-rdma over rxe. > > Note that the rds changes are untested, as I could not find any > simple rds test setup. > > Changes since v2: > - simplify the INFINIBAND_VIRT_DMA dependencies > - add a ib_uses_virt_dma helper > - use ib_uses_virt_dma in nvmet-rdma to disable p2p for virt_dma devices > - use ib_dma_max_seg_size in umem > - stop using dmapool in rds > > Changes since v1: > - disable software RDMA drivers for highmem configs > - update the PCI commit logs Lets give Santosh a little longer for RDS, I've grabbed the precursor parts to for-next for now: nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device RDMA: Lift ibdev_to_node from rds to common code RDMA/core: Remove ib_dma_{alloc,free}_coherent RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs Will get the rest next week regardless. Thanks, Jason