This series adds rdma_cm_id, ib_cq, ib_mr, and ib_pd information to the new resource tracking database. The patches are on top of rdma-rc to get my recent retrack fix [1]. Changes since v3: - add restrack helper rdma_restrack_set_task() to set task before adding the restrack. This cleans up the cm_id implementation and avoids tracking the kern_name and pid in the cm_id_private struct. - don't pass qp info if there is no qp associated with the cm_id - don't pass cm_id ip addresses if they are not initialized yet - make nldev_fill_res_entry const - remove res_type up the nldev_fill_res_entry struct and pass the res_type to the common fill function instead of the fill struct pointer. - remove PGSIZE MR attribute. Not useful. - add helper function to fill in kern_name or pid Changes since v2: - add common resource dumpit function - guard ifdef around cma_core.h - removed cm_id transport/network/dev_addr type nlattrs - use __kernel_sockaddr_storage for cm_id address nlattrs - only present memory keys and iova if CAP_NET_ADMIN - removed PD_FLAGS attritbute. - add reviewed-by tags Changes since v1: - changed mlx4_ib to set user mr attributes length, iova, and page_size - changed mlx4_ib to zero out ib_pd fields for user pds - refactor/simplify res_to_dev() based on Jason's request - simplify some of the changes in restrack.c - fixed comment typo - moved new fields for resource tracking of cm_ids to the rdma_id_private struct - fixed incorrect resource deletion for user mrs - add reviewed-by tags Changes since v0 RFC: - move rdma_id_private into new header cma_priv.h - fixed up code comments as suggested - fixed RDMA_NLDEV_CMD_RES_QP_GET cut/paste error - no BE attributes - add cq, mr, pd resource information - remove RFC tag [1] https://www.spinics.net/lists/linux-rdma/msg60854.html. --- Steve Steve Wise (10): RDMA/restrack: clean up res_to_dev() RDMA/nldev: common resource dumpit function RDMA/CM: move rdma_id_private to cma_priv.h RDMA/nldev: provide detailed CM_ID information RDMA/nldev: provide detailed CQ information iw_cxgb4: initialize ib_mr fields for user mrs mlx4_ib: set user mr attributes in struct ib_mr RDMA/nldev: provide detailed MR information mlx4_ib: zero out struct ib_pd when allocating RDMA/nldev: provide detailed PD information drivers/infiniband/core/cma.c | 102 +++++------ drivers/infiniband/core/cma_priv.h | 83 +++++++++ drivers/infiniband/core/nldev.c | 333 ++++++++++++++++++++++++++++++++--- drivers/infiniband/core/restrack.c | 72 ++++---- drivers/infiniband/core/ucma.c | 8 +- drivers/infiniband/core/uverbs_cmd.c | 2 + drivers/infiniband/core/verbs.c | 3 + drivers/infiniband/hw/cxgb4/mem.c | 3 + drivers/infiniband/hw/mlx4/main.c | 3 +- drivers/infiniband/hw/mlx4/mr.c | 3 + include/rdma/ib_verbs.h | 5 + include/rdma/rdma_cm.h | 18 +- include/rdma/restrack.h | 24 +++ include/uapi/rdma/rdma_netlink.h | 38 ++++ 14 files changed, 564 insertions(+), 133 deletions(-) create mode 100644 drivers/infiniband/core/cma_priv.h -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html