diff options
author | Bryan O'Sullivan <bos@pathscale.com> | 2006-09-28 11:59:57 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-09-28 14:16:21 -0400 |
commit | 6022943eb4cb3cb9e43f27f1faeaba38e162d966 (patch) | |
tree | 0c495a94448610e20a4872416b85c8ffdb0f2adf /drivers/infiniband/hw/ipath/ipath_qp.c | |
parent | fd6a79a786b84510d00ee6aa6449a468e6d75dee (diff) |
IB/ipath: Limit # of packets sent without an ACK received
The sender requests an ACK every 1/2 MB to avoid retransmit timeouts that
were causing MVAPICH mod_bw to fail after a predictable number of sends.
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_qp.c')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_qp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_qp.c b/drivers/infiniband/hw/ipath/ipath_qp.c index 224b0f40767f..ecfaca7a571b 100644 --- a/drivers/infiniband/hw/ipath/ipath_qp.c +++ b/drivers/infiniband/hw/ipath/ipath_qp.c | |||
@@ -342,6 +342,7 @@ static void ipath_reset_qp(struct ipath_qp *qp) | |||
342 | qp->s_last = 0; | 342 | qp->s_last = 0; |
343 | qp->s_ssn = 1; | 343 | qp->s_ssn = 1; |
344 | qp->s_lsn = 0; | 344 | qp->s_lsn = 0; |
345 | qp->s_wait_credit = 0; | ||
345 | if (qp->r_rq.wq) { | 346 | if (qp->r_rq.wq) { |
346 | qp->r_rq.wq->head = 0; | 347 | qp->r_rq.wq->head = 0; |
347 | qp->r_rq.wq->tail = 0; | 348 | qp->r_rq.wq->tail = 0; |
@@ -516,7 +517,7 @@ int ipath_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, | |||
516 | qp->remote_qpn = attr->dest_qp_num; | 517 | qp->remote_qpn = attr->dest_qp_num; |
517 | 518 | ||
518 | if (attr_mask & IB_QP_SQ_PSN) { | 519 | if (attr_mask & IB_QP_SQ_PSN) { |
519 | qp->s_next_psn = attr->sq_psn; | 520 | qp->s_psn = qp->s_next_psn = attr->sq_psn; |
520 | qp->s_last_psn = qp->s_next_psn - 1; | 521 | qp->s_last_psn = qp->s_next_psn - 1; |
521 | } | 522 | } |
522 | 523 | ||