Skip to content

Commit 34bd149

Browse files
linuxhuihanSomasundaram Krishnasamy
authored andcommitted
rds: RDS diagnostics when connections are stuck in Receiver Not Ready state.
Orabug:26522310 Enhance diagnosabilty,when an RDS IB/CM connection gets into "Receiver Not Ready" state.These are the data added to the per-RDS/IB connection info that is currently displayed through rds-info: - w_alloc_ctr of the receive ring (struct rds_ib_work_ring) - w_free_ctr - qp_num number of the connection Signed-off-by: hui.han <[email protected]> Reviewed-by: Venkat Venkatsubra <[email protected]> Orabug: 27364391 (cherry picked from commit 708e107) cherry-pick-repo=linux-uek.git Signed-off-by: Gerd Rausch <[email protected]> Signed-off-by: Somasundaram Krishnasamy <[email protected]>
1 parent 3589fc9 commit 34bd149

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

include/uapi/linux/rds.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,10 @@ struct rds_info_rdma_connection {
245245
uint32_t frag;
246246
uint16_t flow_ctl_post_credit;
247247
uint16_t flow_ctl_send_credit;
248+
uint32_t qp_num;
249+
uint32_t w_alloc_ctr;
250+
uint32_t w_free_ctr;
251+
248252
};
249253

250254
/*

net/rds/ib.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,9 @@ static int rds_ib_conn_info_visitor(struct rds_connection *conn,
377377
iinfo->max_send_wr = ic->i_send_ring.w_nr;
378378
iinfo->max_recv_wr = ic->i_recv_ring.w_nr;
379379
iinfo->max_send_sge = rds_ibdev->max_sge;
380+
iinfo->qp_num = ic->i_cm_id->qp->qp_num;
381+
iinfo->w_alloc_ctr = ic->i_recv_ring.w_alloc_ctr;
382+
iinfo->w_free_ctr = (u32) atomic_read(&ic->i_recv_ring.w_free_ctr);
380383
iinfo->flow_ctl_post_credit =
381384
IB_GET_POST_CREDITS(atomic_read(&ic->i_credits));
382385
iinfo->flow_ctl_send_credit =

0 commit comments

Comments
 (0)