]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
rds: Fix inaccurate accounting of unsignaled wrs in rds_ib_xmit_rdma
authorHåkon Bugge <Haakon.Bugge@oracle.com>
Fri, 10 Nov 2017 11:42:18 +0000 (12:42 +0100)
committerDhaval Giani <dhaval.giani@oracle.com>
Wed, 15 Nov 2017 06:10:06 +0000 (01:10 -0500)
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 <haakon.bugge@oracle.com>
Reviewed-by: Knut Omang <knut.omang@oracle.com>
Reviewed-by: Wei Lin Guay <wei.lin.guay@oracle.com>
Reviewed-by: Avinash Repaka <avinash.repaka@oracle.com>
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
net/rds/ib_send.c

index 46ab6bea7b2fda39ac749bf6d5cc0ffaa00f518b..de75c6cd3dd09cc0a16b8d1d46e4b0a11b88348a 100644 (file)
@@ -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;