linux_dsm_epyc7002/drivers/infiniband/hw/vmw_pvrdma
Shiraz Saleem d10bcf947a RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs
Combine contiguous regions of PAGE_SIZE pages into single scatter list
entry while building the scatter table for a umem. This minimizes the
number of the entries in the scatter list and reduces the DMA mapping
overhead, particularly with the IOMMU.

Set default max_seg_size in core for IB devices to 2G and do not combine
if we exceed this limit.

Also, purge npages in struct ib_umem as we now DMA map the umem SGL with
sg_nents and npage computation is not needed. Drivers should now be using
ib_umem_num_pages(), so fix the last stragglers.

Move npages tracking to ib_umem_odp as ODP drivers still need it.

Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Acked-by: Adit Ranadive <aditr@vmware.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Tested-by: Gal Pressman <galpress@amazon.com>
Tested-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-04-08 13:05:24 -03:00
..
Kconfig IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
Makefile RDMA/vmw_pvrdma: Add shared receive queue support 2017-11-13 16:18:33 -05:00
pvrdma_cmd.c IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
pvrdma_cq.c IB: Pass only ib_udata in function prototypes 2019-04-01 15:00:47 -03:00
pvrdma_dev_api.h RDMA/vmw_pvrdma: Support upto 64-bit PFNs 2019-01-29 21:40:28 -07:00
pvrdma_doorbell.c IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
pvrdma_main.c RDMA: Handle ucontext allocations by IB/core 2019-02-22 14:11:37 -07:00
pvrdma_misc.c RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL 2019-02-11 15:24:55 -07:00
pvrdma_mr.c RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs 2019-04-08 13:05:24 -03:00
pvrdma_qp.c IB: Pass uverbs_attr_bundle down ib_x destroy path 2019-04-01 14:57:35 -03:00
pvrdma_ring.h IB/pvrdma: Remove unused function 2017-08-22 15:42:57 -04:00
pvrdma_srq.c IB: Pass uverbs_attr_bundle down ib_x destroy path 2019-04-01 14:57:35 -03:00
pvrdma_verbs.c IB: Pass only ib_udata in function prototypes 2019-04-01 15:00:47 -03:00
pvrdma_verbs.h IB: Pass only ib_udata in function prototypes 2019-04-01 15:00:47 -03:00
pvrdma.h RDMA/vmw_pvrdma: Return the correct opcode when creating WR 2019-01-10 17:00:28 -07:00