[RFC rdma-next 00/11] Provide per-ID access to restrack objects

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

 



From: Leon Romanovsky <leonro@xxxxxxxxxxxx>

This is WIP RFC, not reviewed, partially tested, without performance impact of
replacing hash to xarray in creation/destroy of multiple PD/MRs, doesn't include
all drivers. It is NOT ready to be merged.

While I'm updating other drivers to export their PD numbers,
I would like to gather feedback as early as possible on the approach and
raise the question: "should RDMA/core provide PD numbers for drivers
which generate them in SW (e.g. hns, bnxt_re, i40iw, e.t.c)?"

Thanks

Leon Romanovsky (11):
  RDMA/nldev: Dynamically generate restrack dumpit callbacks
  RDMA/nldev: Export unique identifier for PD objects
  RDMA/verbs: Add unique PD object identifier
  RDMA/mlx5: Store PDN in general ib_pd
  RDMA/nldev: Refactor out PID namespace check
  RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
  RDMA/nldev: Prepare code for per-port/per-device separation
  RDMA/restrack: Convert internal DB from hash to XArray
  RDMA/restrack: Translate from ID to restrack object
  RDMA/nldev: Add resource tracker doit callback
  RDMA/restrack: Drop synchronization lock while updating DB

 drivers/infiniband/core/nldev.c      | 216 ++++++++++++++++++---------
 drivers/infiniband/core/restrack.c   | 116 +++++++++-----
 drivers/infiniband/hw/mlx5/main.c    |   8 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h |   1 -
 drivers/infiniband/hw/mlx5/mr.c      |  16 +-
 drivers/infiniband/hw/mlx5/qp.c      |  12 +-
 drivers/infiniband/hw/mlx5/srq.c     |   2 +-
 include/rdma/ib_verbs.h              |   6 +
 include/rdma/restrack.h              |  30 ++--
 include/uapi/rdma/rdma_netlink.h     |   4 +
 10 files changed, 277 insertions(+), 134 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