From 68463e646e914cea1aeafc38fdd5673a442674fd Mon Sep 17 00:00:00 2001 From: =?utf8?q?H=C3=A5kon=20Bugge?= Date: Fri, 10 Nov 2017 12:42:18 +0100 Subject: [PATCH] rds: Fix inaccurate accounting of unsignaled wrs in rds_ib_xmit_rdma MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- net/rds/ib_send.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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; -- 2.50.1