[PATCH rdma-next 00/16] 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 patchset is followup to previously sent RFC variant, it passed
initial testing and now under more extensive testing.

The series convert 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 (16):
  RDMA/nldev: Dynamically generate restrack dumpit callbacks
  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/core: Simplify restrack interface
  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/core: Use ops infrastructure to keep all callbacks in one place
  RDMA/restrack: Hide restrack DB from IB/core
  RDMA/restrack: Prepare restrack_root to addition of extra fields
    per-type
  RDMA/restrack: Directly mark user/kernel entry in XArray
  RDMA/restrack: Introduce range support for IDs
  RDMA/restrack: Implement software ID interface
  RDMA/restrack: Add restrack wrappers to set/get ID and type

 drivers/infiniband/core/cma.c          |   6 +-
 drivers/infiniband/core/device.c       |   8 +-
 drivers/infiniband/core/nldev.c        | 245 ++++++++++++++-------
 drivers/infiniband/core/restrack.c     | 293 +++++++++++++++++++------
 drivers/infiniband/hw/cxgb4/provider.c |   2 +-
 drivers/infiniband/hw/cxgb4/restrack.c |   2 +-
 include/rdma/ib_verbs.h                |  12 +-
 include/rdma/rdma_cm.h                 |   2 +-
 include/rdma/restrack.h                | 146 ++++++++----
 9 files changed, 521 insertions(+), 195 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