[PATCH rdma-next v6 00/10] Provide per-ID access to restrack objects

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

 



From: Leon Romanovsky <leonro@xxxxxxxxxxxx>

Changelog:
Jason, despite you desire to allow port=0, I didn't find it is exciting to
do such change in -rc7 and left it as is.
v5->v6:
 * Fixed next-id kernel-doc comment
 * Delete irrelevant comments from res_get_common_dumpit()
 * Converion to per-type XArray allows us to replace rwsem lock in favour of xa_lock()
 * Don't expose number of not-visible entries
 * Fix regression in cx-3 device introduced by patch with .doit callback.
   Resources were presented for one port only.
 * Created private to core restrack.h file.
v4->v5:
 * Removed fill_res_entry from rdam_restrack_root - rebase error
 * Removed irrelevant comment from rwsem
 * Deleted set_type/res_to_id helpers
 * Unfold fill_res_to_id()
 * Removed get XA helper
v3->v4:
 * Changed lock/unlock to receive xarray to lock instead of ib_device
 * and restrack type.
 * Fixed spelling error in comment
 * Rebased on top of already accepted patches
 * Removed redundant xa_load check.
 * Squashed per-port/per-device separation patch
v2->v3:
 * Rebased on to -rc4
 * Removed special XA markings (RES_VISIBLE)
 * Dropped HW ID allocator for now.
 * Removed xa_is_err() check in *_byid() function
 * Reworded commit messages to reflect changes
 * Fixed compilation warning due to my changes to rdmavt
v1->v2:
 * Dropped HW ID allocator for now.
 * Removed xa_is_err() check in *_byid() function
 * Reworded commit messages to reflect changes
 * Fixed compilation warning due to my changes to rdmavt
v1->v2:
 * Added "Fortify .." atch, it helps to find uninitialized paths
 * Rewrote ".doit" patch
v0->v1:
 * Don't set mark in case restrack entry failed to be added
 * Fix typos
 * Move kdoc comments from restrack.h to restrack.c
 * Rewrote user/kernel marking patch to drop xa_set_mark in favour
   of "user" field
 * Fixed two panics with uninitialized values, one for QPs and
   another for ibdev in CM_ID

-----------------------------------------------------------------------------

This part converts internal restrack DB implementation from hash-based
to be XArray-based. Such change is needed to allow access per specific
index for .doit callbacks. In addition, such index will provide ability
to bind/unbind counters to specific QPs, provide valuable debug
information about parent object (e.g. PD of specific QP, or context
of specific PD) and get list of objects connected to specific context.

Thanks

Leon Romanovsky (10):
  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: Reduce scope of synchronization lock while updating DB
  RDMA/restrack: Hide restrack DB from IB/core
  RDMA/restrack: Prepare restrack_root to addition of extra fields
    per-type
  RDMA/nldev: Share with user-space object IDs
  RDMA/nldev: Provide parent IDs for PD, MR and QP objects
  RDMA/nldev: Connect QP number to .doit callback
  RDMA/nldev: Don't expose number of not-visible entries

 drivers/infiniband/core/device.c   |   6 +-
 drivers/infiniband/core/nldev.c    | 277 ++++++++++++++++++++---------
 drivers/infiniband/core/restrack.c | 175 +++++++++++++-----
 drivers/infiniband/core/restrack.h |  28 +++
 include/rdma/ib_verbs.h            |   7 +-
 include/rdma/restrack.h            |  32 +---
 include/uapi/rdma/rdma_netlink.h   |  10 ++
 7 files changed, 373 insertions(+), 162 deletions(-)
 create mode 100644 drivers/infiniband/core/restrack.h

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