aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/cma_priv.h
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2018-03-01 13:57:44 -0800
committerDoug Ledford <dledford@redhat.com>2018-03-08 15:03:03 -0500
commit00313983cda6f37f747058e58c1cb8fba02bc134 (patch)
tree70e6323e9d53958672bb012c3641e97964e98b56 /drivers/infiniband/core/cma_priv.h
parentRDMA/CM: move rdma_id_private to cma_priv.h (diff)
downloadlinux-dev-00313983cda6f37f747058e58c1cb8fba02bc134.tar.xz
linux-dev-00313983cda6f37f747058e58c1cb8fba02bc134.zip
RDMA/nldev: provide detailed CM_ID information
Implement RDMA nldev netlink interface to get detailed CM_ID information. Because cm_id's are attached to rdma devices in various work queue contexts, the pid and task information at restrak_add() time is sometimes not useful. For example, an nvme/f host connection cm_id ends up being bound to a device in a work queue context and the resulting pid at attach time no longer exists after connection setup. So instead we mark all cm_id's created via the rdma_ucm as "user", and all others as "kernel". This required tweaking the restrack code a little. It also required wrapping some rdma_cm functions to allow passing the module name string. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Reviewed-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/core/cma_priv.h')
-rw-r--r--drivers/infiniband/core/cma_priv.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/core/cma_priv.h b/drivers/infiniband/core/cma_priv.h
index 11a41bef32ed..56f52b70c346 100644
--- a/drivers/infiniband/core/cma_priv.h
+++ b/drivers/infiniband/core/cma_priv.h
@@ -67,7 +67,6 @@ struct rdma_id_private {
u32 seq_num;
u32 qkey;
u32 qp_num;
- pid_t owner;
u32 options;
u8 srq;
u8 tos;
@@ -75,5 +74,10 @@ struct rdma_id_private {
u8 reuseaddr;
u8 afonly;
enum ib_gid_type gid_type;
+
+ /*
+ * Internal to RDMA/core, don't use in the drivers
+ */
+ struct rdma_restrack_entry res;
};
#endif /* _CMA_PRIV_H */