From: Håkon Bugge Date: Fri, 10 Nov 2017 11:42:18 +0000 (+0100) Subject: rds: Fix inaccurate accounting of unsignaled wrs in rds_ib_xmit_rdma X-Git-Tag: v4.1.12-117.0_27200813_3~34 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=68463e646e914cea1aeafc38fdd5673a442674fd;p=users%2Fjedix%2Flinux-maple.git rds: Fix inaccurate accounting of unsignaled wrs in rds_ib_xmit_rdma The number of unsignaled work-requests posted to the IB send queue is tracked by a counter in the rds_ib_connection struct. When it reaches zero, or the caller explicitly asks for it, the send-signaled bit is set in send_flags and the counter is reset. This is performed by the rds_ib_set_wr_signal_state() function. However, this function is not used in rds_ib_xmit_rdma(), which yields inaccurate accounting. This commit fixes this. Orabug: 27090772 Signed-off-by: Håkon Bugge Reviewed-by: Knut Omang Reviewed-by: Wei Lin Guay Reviewed-by: Avinash Repaka Signed-off-by: Dhaval Giani --- diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c index 46ab6bea7b2f..de75c6cd3dd0 100644 --- a/net/rds/ib_send.c +++ b/net/rds/ib_send.c @@ -1070,8 +1070,7 @@ int rds_ib_xmit_rdma(struct rds_connection *conn, struct rm_rdma_op *op) rcomp->s_wr.wr.rdma.rkey = op->op_rkey; prev->s_wr.next = &rcomp->s_wr; prev = rcomp; - rcomp->s_wr.send_flags = IB_SEND_SIGNALED; - nr_sig++; + nr_sig += rds_ib_set_wr_signal_state(ic, rcomp, true); } prev->s_op = op;