[PATCH rdma/for-next v2 0/5] IB/{hw,sw}: remove 'uobject->context' dependency APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch set continue the cleanup started with prior series. This
patch set clean the ib_x destroy APIs.

The final goal of this cleanup is to remove the dependency in the IB
code in the ib_x->uobject pointer as step toward shared ib_x objects.

This series also remove ib_ucontext from functions signature where
ib_udata is available. 

Changelog:

v1 -> v2:
* rebase to latest rdma/for-next 
* Patch 1/5: 
  Replace the ufile with attrs->ufile
  ufd_get_read - pass attrs not NULL
* Patch 2/5:
  uverbs_close_fd now pass valid uverbs_attr_bundle
  __uverbs_cleanup_ufile loop optimize as Jason suggested
* Patch 3/5:
  Use static inline instead of macros
* Patch 5/5:
  New patch to clean-up the functions prototypes that
  had duplicate ib_ucontext & ib_udata 

Shamir Rabinovitch (5):
  IB/{rdma,core}: ucontext should be set properly for all cmd & ioctl
    paths
  IB/{core,hw}: pass uverbs_attr_bundle down uobject destroy path
  IB/{core,hw,sw}: pass uverbs_attr_bundle down ib_x destroy path
  IB:{core,hw}: remove 'uobject->context' dependency in object destroy
    APIs
  IB/{core,hw,sw}: pass only ib_udata in function prototypes

 drivers/infiniband/core/cq.c                  |  21 +-
 drivers/infiniband/core/rdma_core.c           | 117 ++++-----
 drivers/infiniband/core/rdma_core.h           |   9 +-
 drivers/infiniband/core/uverbs.h              |   3 +-
 drivers/infiniband/core/uverbs_cmd.c          |  79 +++---
 drivers/infiniband/core/uverbs_ioctl.c        |  25 +-
 drivers/infiniband/core/uverbs_std_types.c    |  52 ++--
 .../core/uverbs_std_types_counters.c          |   3 +-
 drivers/infiniband/core/uverbs_std_types_cq.c |  10 +-
 drivers/infiniband/core/uverbs_std_types_dm.c |   5 +-
 .../core/uverbs_std_types_flow_action.c       |   3 +-
 drivers/infiniband/core/uverbs_std_types_mr.c |   8 +-
 drivers/infiniband/core/verbs.c               |  84 +++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c      |  40 +--
 drivers/infiniband/hw/bnxt_re/ib_verbs.h      |  18 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c   |  48 ++--
 drivers/infiniband/hw/cxgb4/cq.c              |  20 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h        |  12 +-
 drivers/infiniband/hw/cxgb4/mem.c             |   5 +-
 drivers/infiniband/hw/cxgb4/provider.c        |   9 +-
 drivers/infiniband/hw/cxgb4/qp.c              |   8 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c       |   2 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c       |  33 ++-
 drivers/infiniband/hw/hns/hns_roce_device.h   |  14 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c    |   7 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.h    |   2 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c    |  22 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c       |   4 +-
 drivers/infiniband/hw/hns/hns_roce_pd.c       |   7 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c      |   2 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c        |   3 +-
 drivers/infiniband/hw/i40iw/i40iw_verbs.c     |  49 ++--
 drivers/infiniband/hw/mlx4/ah.c               |   2 +-
 drivers/infiniband/hw/mlx4/cq.c               |  39 +--
 drivers/infiniband/hw/mlx4/doorbell.c         |   9 +-
 drivers/infiniband/hw/mlx4/mad.c              |  10 +-
 drivers/infiniband/hw/mlx4/main.c             |  10 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h          |  19 +-
 drivers/infiniband/hw/mlx4/mr.c               |   5 +-
 drivers/infiniband/hw/mlx4/qp.c               |  38 +--
 drivers/infiniband/hw/mlx4/srq.c              |  14 +-
 drivers/infiniband/hw/mlx5/ah.c               |   2 +-
 drivers/infiniband/hw/mlx5/cq.c               |  51 ++--
 drivers/infiniband/hw/mlx5/devx.c             |   6 +-
 drivers/infiniband/hw/mlx5/flow.c             |   3 +-
 drivers/infiniband/hw/mlx5/main.c             |  55 ++--
 drivers/infiniband/hw/mlx5/mlx5_ib.h          |  23 +-
 drivers/infiniband/hw/mlx5/mr.c               |   5 +-
 drivers/infiniband/hw/mlx5/qp.c               |  41 +--
 drivers/infiniband/hw/mlx5/srq.c              |  21 +-
 drivers/infiniband/hw/mthca/mthca_provider.c  | 102 ++++----
 drivers/infiniband/hw/nes/nes_cm.c            |   3 +-
 drivers/infiniband/hw/nes/nes_verbs.c         |  68 +++--
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c      |   2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.h      |   2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c   |  75 ++++--
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h   |  17 +-
 drivers/infiniband/hw/qedr/verbs.c            |  49 ++--
 drivers/infiniband/hw/qedr/verbs.h            |  18 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c  |  20 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h  |  12 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c  |  20 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c  |   4 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c  |   3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c |   5 +-
 .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.c   |  23 +-
 .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h   |  18 +-
 drivers/infiniband/sw/rdmavt/ah.c             |   4 +-
 drivers/infiniband/sw/rdmavt/ah.h             |   3 +-
 drivers/infiniband/sw/rdmavt/cq.c             |   7 +-
 drivers/infiniband/sw/rdmavt/cq.h             |   3 +-
 drivers/infiniband/sw/rdmavt/mmap.c           |  14 +-
 drivers/infiniband/sw/rdmavt/mmap.h           |   2 +-
 drivers/infiniband/sw/rdmavt/mr.c             |   5 +-
 drivers/infiniband/sw/rdmavt/mr.h             |   5 +-
 drivers/infiniband/sw/rdmavt/pd.c             |   7 +-
 drivers/infiniband/sw/rdmavt/pd.h             |   5 +-
 drivers/infiniband/sw/rdmavt/qp.c             |   7 +-
 drivers/infiniband/sw/rdmavt/qp.h             |   2 +-
 drivers/infiniband/sw/rdmavt/srq.c            |   7 +-
 drivers/infiniband/sw/rdmavt/srq.h            |   2 +-
 drivers/infiniband/sw/rxe/rxe_cq.c            |  10 +-
 drivers/infiniband/sw/rxe/rxe_loc.h           |  12 +-
 drivers/infiniband/sw/rxe/rxe_mmap.c          |  12 +-
 drivers/infiniband/sw/rxe/rxe_qp.c            |  14 +-
 drivers/infiniband/sw/rxe/rxe_queue.c         |   8 +-
 drivers/infiniband/sw/rxe/rxe_queue.h         |   4 +-
 drivers/infiniband/sw/rxe/rxe_srq.c           |  12 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c         |  29 +--
 include/rdma/ib_verbs.h                       | 242 +++++++++++++++---
 include/rdma/uverbs_std_types.h               |  39 ++-
 include/rdma/uverbs_types.h                   |  18 +-
 92 files changed, 1173 insertions(+), 818 deletions(-)

-- 
2.20.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux