From: Leon Romanovsky <leonro@xxxxxxxxxx> Changelog: v1: * Added patch for raw QP * Fixed commit messages v0: https://lore.kernel.org/lkml/20201026132635.1337663-1-leon@xxxxxxxxxx ------------------------- >From Jason: Move the remaining cases working with umems to use versions of ib_umem_find_best_pgsz() tailored to the calculations the devices requires. Unlike a MR there is no IOVA, instead a page offset from the starting page is possible, with various restrictions. Compute the best page size to meet the page_offset restrictions. Thanks Jason Gunthorpe (7): RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for WQ RDMA/mlx5: Directly compute the PAS list for raw QP RQ's RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for QP RDMA/mlx5: mlx5_umem_find_best_quantized_pgoff() for CQ RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx RDMA/mlx5: Lower setting the umem's PAS for SRQ drivers/infiniband/hw/mlx5/cq.c | 48 +++++--- drivers/infiniband/hw/mlx5/devx.c | 66 ++++++----- drivers/infiniband/hw/mlx5/mem.c | 115 +++++++------------ drivers/infiniband/hw/mlx5/mlx5_ib.h | 47 +++++++- drivers/infiniband/hw/mlx5/qp.c | 165 ++++++++++++--------------- drivers/infiniband/hw/mlx5/srq.c | 27 +---- drivers/infiniband/hw/mlx5/srq.h | 1 + drivers/infiniband/hw/mlx5/srq_cmd.c | 80 ++++++++++++- include/rdma/ib_umem.h | 42 +++++++ 9 files changed, 343 insertions(+), 248 deletions(-) -- 2.28.0