[PATCH rdma-next v3 0/2] Allocate PD object in IB/core instead of drivers

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

 



From: Leon Romanovsky <leonro@xxxxxxxxxxxx>

Changelog:
 v2->v3:
  * Added type casting in a return of zalloc
  * Restore deleted rxe PD pool management to ensure that max_pd is
    honored.
 v1->v2:
  * Sent as part of per-ID series
 v0->v1:
  * Used various to_XXXpd() macros provided by drivers instead of
  * container_of() - Shiraz
  * Cleaned a little bit macros after Jason's suggestion and Bart's
    snippet from other patch.

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

This series is a followup to discussed on the mailing list approach to
provide drivers common infrastructure for SW/HW allocated IDs. Those
IDs are essential part of two main core features:
1. netlink interface to query specific objects from user space (rdmatool)
2. internal resource management, instead of home grown bitmaps and trees
used by various drivers.

However for mentioned infrastructure to work, it relies on the fact that
the pointer to ib_device is already set, prior to call to various
alloc_XXX() functions.

In this series, I converted all drivers to use IB/core ib_pd allocation
to ensure that ib_device pointer is valid.

Thanks

Leon Romanovsky (2):
  RDMA/core: Share driver structure size with core
  RDMA: Handle PD allocations by IB/core

 drivers/infiniband/core/device.c              |  5 +
 drivers/infiniband/core/uverbs_cmd.c          | 15 ++-
 drivers/infiniband/core/uverbs_std_types.c    |  2 +-
 drivers/infiniband/core/verbs.c               | 27 +++---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c      | 37 +++-----
 drivers/infiniband/hw/bnxt_re/ib_verbs.h      |  9 +-
 drivers/infiniband/hw/bnxt_re/main.c          |  1 +
 drivers/infiniband/hw/cxgb3/iwch_provider.c   | 25 ++---
 drivers/infiniband/hw/cxgb4/provider.c        | 25 ++---
 drivers/infiniband/hw/hns/hns_roce_device.h   |  7 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c    | 27 +++---
 drivers/infiniband/hw/hns/hns_roce_main.c     |  1 +
 drivers/infiniband/hw/hns/hns_roce_pd.c       | 25 ++---
 drivers/infiniband/hw/i40iw/i40iw_utils.c     |  1 -
 drivers/infiniband/hw/i40iw/i40iw_verbs.c     | 32 +++----
 drivers/infiniband/hw/mlx4/main.c             | 36 +++-----
 drivers/infiniband/hw/mlx5/main.c             | 48 +++++-----
 drivers/infiniband/hw/mthca/mthca_provider.c  | 29 ++----
 drivers/infiniband/hw/nes/nes_verbs.c         | 32 +++----
 drivers/infiniband/hw/ocrdma/ocrdma_main.c    |  1 +
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c   | 92 ++++++++-----------
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h   |  6 +-
 drivers/infiniband/hw/qedr/main.c             |  1 +
 drivers/infiniband/hw/qedr/verbs.c            | 34 ++-----
 drivers/infiniband/hw/qedr/verbs.h            |  6 +-
 drivers/infiniband/hw/usnic/usnic_ib_main.c   |  1 +
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c  | 26 ++----
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h  |  7 +-
 .../infiniband/hw/vmw_pvrdma/pvrdma_main.c    |  1 +
 .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.c   | 43 +++------
 .../infiniband/hw/vmw_pvrdma/pvrdma_verbs.h   |  7 +-
 drivers/infiniband/sw/rdmavt/pd.c             | 29 ++----
 drivers/infiniband/sw/rdmavt/pd.h             |  7 +-
 drivers/infiniband/sw/rdmavt/vt.c             |  1 +
 drivers/infiniband/sw/rxe/rxe_pool.c          | 60 +++++++++---
 drivers/infiniband/sw/rxe/rxe_pool.h          |  4 +
 drivers/infiniband/sw/rxe/rxe_verbs.c         | 16 ++--
 drivers/infiniband/sw/rxe/rxe_verbs.h         |  2 +-
 include/rdma/ib_verbs.h                       | 22 ++++-
 39 files changed, 341 insertions(+), 409 deletions(-)

--
2.19.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