You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
IB/mad: Report number of times a mad was retried
To allow ULPs to tune timeout values and capture retry statistics, report the number of times that a mad send operation was retried. For RMPP mads, report the total number of times that the any portion (send window) of the send operation was retried. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
committed by
Roland Dreier
parent
547af76521
commit
4fc8cd4919
@@ -1100,7 +1100,9 @@ int ib_post_send_mad(struct ib_mad_send_buf *send_buf,
|
||||
mad_send_wr->tid = ((struct ib_mad_hdr *) send_buf->mad)->tid;
|
||||
/* Timeout will be updated after send completes */
|
||||
mad_send_wr->timeout = msecs_to_jiffies(send_buf->timeout_ms);
|
||||
mad_send_wr->retries = send_buf->retries;
|
||||
mad_send_wr->max_retries = send_buf->retries;
|
||||
mad_send_wr->retries_left = send_buf->retries;
|
||||
send_buf->retries = 0;
|
||||
/* Reference for work request to QP + response */
|
||||
mad_send_wr->refcount = 1 + (mad_send_wr->timeout > 0);
|
||||
mad_send_wr->status = IB_WC_SUCCESS;
|
||||
@@ -2436,9 +2438,12 @@ static int retry_send(struct ib_mad_send_wr_private *mad_send_wr)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!mad_send_wr->retries--)
|
||||
if (!mad_send_wr->retries_left)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
mad_send_wr->retries_left--;
|
||||
mad_send_wr->send_buf.retries++;
|
||||
|
||||
mad_send_wr->timeout = msecs_to_jiffies(mad_send_wr->send_buf.timeout_ms);
|
||||
|
||||
if (mad_send_wr->mad_agent_priv->agent.rmpp_version) {
|
||||
|
||||
Reference in New Issue
Block a user