[PATCH rdma-next v1 0/9] QP allocation changes

From: Leon Romanovsky
Date: Fri Jul 23 2021 - 07:40:02 EST


From: Leon Romanovsky <leonro@xxxxxxxxxx>

Changelog:
v1:
* Added ROB tags
* Deleted already existed double rwq_ind_tbl assignment
* Deleted hr_qp->ibqp.qp_type assignment
v0: https://lore.kernel.org/lkml/cover.1626609283.git.leonro@xxxxxxxxxx

-----------------------------------------------------------------------------
Hi,

This series convert IB/core to use core allocation scheme for the QP
objects.

Thanks

Leon Romanovsky (9):
RDMA/hns: Don't skip IB creation flow for regular RC QP
RDMA/hns: Don't overwrite supplied QP attributes
RDMA/efa: Remove double QP type assignment
RDMA/mlx5: Cancel pkey work before destroying device resources
RDMA/mlx5: Delete device resource mutex that didn't protect anything
RDMA/mlx5: Rework custom driver QP type creation
RDMA/rdmavt: Decouple QP and SGE lists allocations
RDMA: Globally allocate and release QP memory
RDMA/mlx5: Drop in-driver verbs object creations

drivers/infiniband/core/core_priv.h | 28 +++-
drivers/infiniband/core/device.c | 2 +
drivers/infiniband/core/restrack.c | 2 +-
drivers/infiniband/core/verbs.c | 47 +++---
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 26 ++--
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 7 +-
drivers/infiniband/hw/bnxt_re/main.c | 1 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 5 +-
drivers/infiniband/hw/cxgb4/provider.c | 1 +
drivers/infiniband/hw/cxgb4/qp.c | 37 ++---
drivers/infiniband/hw/efa/efa.h | 5 +-
drivers/infiniband/hw/efa/efa_main.c | 1 +
drivers/infiniband/hw/efa/efa_verbs.c | 29 ++--
drivers/infiniband/hw/hns/hns_roce_device.h | 5 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 1 +
drivers/infiniband/hw/hns/hns_roce_qp.c | 36 ++---
drivers/infiniband/hw/irdma/utils.c | 3 -
drivers/infiniband/hw/irdma/verbs.c | 31 ++--
drivers/infiniband/hw/mlx4/main.c | 1 +
drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 +-
drivers/infiniband/hw/mlx4/qp.c | 25 ++--
drivers/infiniband/hw/mlx5/gsi.c | 51 ++-----
drivers/infiniband/hw/mlx5/main.c | 135 ++++++------------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 7 +-
drivers/infiniband/hw/mlx5/qp.c | 62 +++-----
drivers/infiniband/hw/mthca/mthca_provider.c | 77 ++++------
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 1 +
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 25 ++--
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 5 +-
drivers/infiniband/hw/qedr/main.c | 1 +
drivers/infiniband/hw/qedr/qedr_roce_cm.c | 13 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.h | 5 +-
drivers/infiniband/hw/qedr/verbs.c | 49 ++-----
drivers/infiniband/hw/qedr/verbs.h | 4 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 1 +
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 34 ++---
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h | 10 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 69 +++++----
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 5 +-
.../infiniband/hw/vmw_pvrdma/pvrdma_main.c | 1 +
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 53 +++----
.../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 5 +-
drivers/infiniband/sw/rdmavt/qp.c | 102 ++++++-------
drivers/infiniband/sw/rdmavt/qp.h | 5 +-
drivers/infiniband/sw/rdmavt/vt.c | 9 ++
drivers/infiniband/sw/rxe/rxe_pool.c | 2 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 48 +++----
drivers/infiniband/sw/rxe/rxe_verbs.h | 2 +-
drivers/infiniband/sw/siw/siw_main.c | 1 +
drivers/infiniband/sw/siw/siw_qp.c | 2 -
drivers/infiniband/sw/siw/siw_verbs.c | 54 +++----
drivers/infiniband/sw/siw/siw_verbs.h | 5 +-
include/rdma/ib_verbs.h | 30 +++-
include/rdma/rdmavt_qp.h | 2 +-
55 files changed, 480 insertions(+), 699 deletions(-)

--
2.31.1