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>
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;