mbox series

[0/3] figure uverbs/kernel ib_pd w/o using ib_pd uobject

Message ID 20181007072308.10936-1-shamir.rabinovitch@oracle.com (mailing list archive)
Headers show
Series figure uverbs/kernel ib_pd w/o using ib_pd uobject | expand

Message

Shamir Rabinovitch Oct. 7, 2018, 7:23 a.m. UTC
This series and follow up couple of series are doing ground work to
be able to add Shared Protection domain verbs. I have been reviewing
these bits with Jason Gunthorpe, Leon Romanovsky and Santosh Shilimkar
and we thought of taking these to wider list.

This particular series has two steps. 

First step is to change the resource tracker so it will not use ib_x 
uobject pointer to figure if ib_x object was created by uverbs/kernel. 

Second step is to use the resource tracker ability to tell if ib_pd was 
created by uverbs/kernel and replace every place in the code where the 
code test for valid ib_pd uobject pointer just to tell if the ib_pd was
created by uverbs/kernel.

This series is the first step toward releasing the code from the dependency
in the uobject pointer in the ib_pd. This change is required before we can
move to shared ib_pd model. 

Shamir Rabinovitch (3):
  RDMA/restrack: resource-tracker should not use uobject pointers
  IB/verbs: Add rdma_is_user_pd function
  IB/{hw,sw}: use rdma_is_user_pd instead of pd uobject pointer

 drivers/infiniband/core/core_priv.h           |  1 +
 drivers/infiniband/core/cq.c                  |  1 +
 drivers/infiniband/core/restrack.c            | 16 +---------------
 drivers/infiniband/core/uverbs_cmd.c          |  3 +++
 drivers/infiniband/core/uverbs_std_types_cq.c |  1 +
 drivers/infiniband/core/verbs.c               |  3 +++
 drivers/infiniband/hw/bnxt_re/ib_verbs.c      |  4 ++--
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c    |  2 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |  3 ++-
 drivers/infiniband/hw/hns/hns_roce_qp.c       | 17 +++++++++--------
 drivers/infiniband/hw/i40iw/i40iw_verbs.c     |  6 +++---
 drivers/infiniband/hw/mlx4/qp.c               | 17 +++++++++--------
 drivers/infiniband/hw/mlx4/srq.c              | 10 +++++-----
 drivers/infiniband/hw/mlx5/qp.c               |  8 ++++----
 drivers/infiniband/hw/mlx5/srq.c              |  8 ++++----
 drivers/infiniband/hw/mthca/mthca_provider.c  | 10 +++++-----
 drivers/infiniband/hw/mthca/mthca_qp.c        |  7 ++++---
 drivers/infiniband/hw/mthca/mthca_srq.c       |  8 ++++----
 drivers/infiniband/hw/nes/nes_verbs.c         |  7 ++++---
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c   |  2 +-
 drivers/infiniband/hw/qedr/verbs.c            |  4 ++--
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c  |  2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c |  2 +-
 drivers/infiniband/sw/rxe/rxe_qp.c            |  3 ++-
 include/rdma/ib_verbs.h                       |  5 +++++
 include/rdma/restrack.h                       |  4 ++++
 26 files changed, 82 insertions(+), 72 deletions(-)