mbox series

[0/9] Simplify query_device() in libibverbs

Message ID 0-v1-34e141ddf17e+89-query_device_ex_jgg@nvidia.com (mailing list archive)
Headers show
Series Simplify query_device() in libibverbs | expand

Message

Jason Gunthorpe Nov. 16, 2020, 8:23 p.m. UTC
Now that that kernel implements query_device_ex for every driver we should
do the same in userspace. Have providers implement only query_device_ex()
and feed query_device() down the same path. This eliminates some
duplicated code in the providers and allows every provider to fully
support query_device_ex with any new kernel features added.

This is a PR:

https://github.com/linux-rdma/rdma-core/pull/890

Jason Gunthorpe (9):
  verbs: Simplify query_device_ex
  verbs: Add ibv_cmd_query_device_any()
  mlx5: Move context initialization out of mlx5_query_device_ex()
  efa: Move the context intialization out of efa_query_device_ex()
  mlx4: Move the context intialization out of mlx4_query_device_ex()
  providers: Remove normal query_device() from providers that have _ex
  providers: Convert all providers to implement query_device_ex
  verbs: Remove dead code
  verbs: Delete query_device() internal support

 libibverbs/cmd.c                   | 212 -----------------------------
 libibverbs/cmd_device.c            | 155 +++++++++++++++++++++
 libibverbs/device.c                |   1 +
 libibverbs/driver.h                |  19 +--
 libibverbs/dummy_ops.c             |  21 +--
 libibverbs/libibverbs.map.in       |   2 +-
 libibverbs/verbs.c                 |   5 +-
 libibverbs/verbs.h                 |   3 +-
 providers/bnxt_re/main.c           |   2 +-
 providers/bnxt_re/verbs.c          |  30 ++--
 providers/bnxt_re/verbs.h          |   5 +-
 providers/cxgb4/dev.c              |  10 +-
 providers/cxgb4/libcxgb4.h         |   3 +-
 providers/cxgb4/verbs.c            |  14 +-
 providers/efa/efa.c                |  15 +-
 providers/efa/verbs.c              |  82 ++++++-----
 providers/efa/verbs.h              |   2 +-
 providers/hfi1verbs/hfiverbs.c     |   2 +-
 providers/hfi1verbs/hfiverbs.h     |   5 +-
 providers/hfi1verbs/verbs.c        |  13 +-
 providers/hns/hns_roce_u.c         |   8 +-
 providers/hns/hns_roce_u.h         |   3 +-
 providers/hns/hns_roce_u_verbs.c   |  15 +-
 providers/i40iw/i40iw_umain.c      |   2 +-
 providers/i40iw/i40iw_umain.h      |   4 +-
 providers/i40iw/i40iw_uverbs.c     |  18 ++-
 providers/ipathverbs/ipathverbs.c  |   2 +-
 providers/ipathverbs/ipathverbs.h  |   5 +-
 providers/ipathverbs/verbs.c       |  13 +-
 providers/mlx4/mlx4.c              |  34 +----
 providers/mlx4/mlx4.h              |   3 +-
 providers/mlx4/verbs.c             |  86 +++++++-----
 providers/mlx5/mlx5.c              |  11 +-
 providers/mlx5/mlx5.h              |   3 +-
 providers/mlx5/verbs.c             | 129 +++++++++---------
 providers/mthca/mthca.c            |   2 +-
 providers/mthca/mthca.h            |   3 +-
 providers/mthca/verbs.c            |  13 +-
 providers/ocrdma/ocrdma_main.c     |   2 +-
 providers/ocrdma/ocrdma_main.h     |   4 +-
 providers/ocrdma/ocrdma_verbs.c    |  20 +--
 providers/qedr/qelr_main.c         |   2 +-
 providers/qedr/qelr_verbs.c        |  21 +--
 providers/qedr/qelr_verbs.h        |   3 +-
 providers/rxe/rxe.c                |  15 +-
 providers/siw/siw.c                |  20 +--
 providers/vmw_pvrdma/pvrdma.h      |   3 +-
 providers/vmw_pvrdma/pvrdma_main.c |   2 +-
 providers/vmw_pvrdma/verbs.c       |  13 +-
 util/util.h                        |   3 +
 50 files changed, 511 insertions(+), 552 deletions(-)