summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/hfi1/tid_rdma.c
diff options
context:
space:
mode:
authorKaike Wan2019-01-24 04:30:18 +0100
committerDoug Ledford2019-02-05 23:53:55 +0100
commit2f16a696a05d34ba8c920b2133a51f18107fdb8b (patch)
tree8f8744fc452b588c6040e9fe69ed241db9eeb00d /drivers/infiniband/hw/hfi1/tid_rdma.c
parentIB/hfi1: TID RDMA RcvArray programming and TID allocation (diff)
downloadkernel-qcow2-linux-2f16a696a05d34ba8c920b2133a51f18107fdb8b.tar.gz
kernel-qcow2-linux-2f16a696a05d34ba8c920b2133a51f18107fdb8b.tar.xz
kernel-qcow2-linux-2f16a696a05d34ba8c920b2133a51f18107fdb8b.zip
IB/hfi1: Add the counter n_tidwait
This patch adds the counter n_tidwait to count the number of times the TID resource allocator has to wait for TID resources. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/tid_rdma.c')
-rw-r--r--drivers/infiniband/hw/hfi1/tid_rdma.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/tid_rdma.c b/drivers/infiniband/hw/hfi1/tid_rdma.c
index 1d02b12590f6..43c595f30b3e 100644
--- a/drivers/infiniband/hw/hfi1/tid_rdma.c
+++ b/drivers/infiniband/hw/hfi1/tid_rdma.c
@@ -495,6 +495,7 @@ static void queue_qp_for_tid_wait(struct hfi1_ctxtdata *rcd,
qp->s_flags |= HFI1_S_WAIT_TID_SPACE;
list_add_tail(&priv->tid_wait, &queue->queue_head);
priv->tid_enqueue = ++queue->enqueue;
+ rcd->dd->verbs_dev.n_tidwait++;
trace_hfi1_qpsleep(qp, HFI1_S_WAIT_TID_SPACE);
rvt_get_qp(qp);
}
@@ -1569,3 +1570,11 @@ static void hfi1_init_trdma_req(struct rvt_qp *qp,
req->qp = qp;
req->rcd = qpriv->rcd;
}
+
+u64 hfi1_access_sw_tid_wait(const struct cntr_entry *entry,
+ void *context, int vl, int mode, u64 data)
+{
+ struct hfi1_devdata *dd = context;
+
+ return dd->verbs_dev.n_tidwait;
+}