mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-23 21:51:27 +00:00
ib_srpt: Prevent that large RDMA transfers trigger QP termination (merge r8938 from trunk)
git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.4.x@8945 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -2328,21 +2328,22 @@ retry:
|
||||
qp_init->sq_sig_type = IB_SIGNAL_REQ_WR;
|
||||
qp_init->qp_type = IB_QPT_RC;
|
||||
qp_init->cap.max_send_wr = sq_size;
|
||||
#if HAVE_DEV_ATTR_MAX_SEND_SGE
|
||||
ch->max_send_sge = sdev->dev_attr.max_send_sge;
|
||||
ch->max_recv_sge = sdev->dev_attr.max_recv_sge;
|
||||
#else
|
||||
ch->max_send_sge = sdev->dev_attr.max_sge;
|
||||
ch->max_recv_sge = ch->max_send_sge;
|
||||
#endif
|
||||
/*
|
||||
* For max_sge values > 2 * max_sge_delta, subtract max_sge_delta. For
|
||||
* max_sge values < max_sge_delta, use max_sge. For intermediate
|
||||
* max_sge values, use max_sge_delta.
|
||||
*/
|
||||
#if HAVE_DEV_ATTR_MAX_SEND_SGE
|
||||
ch->max_send_sge = sdev->dev_attr.max_send_sge;
|
||||
ch->max_recv_sge = sdev->dev_attr.max_recv_sge;
|
||||
#else
|
||||
ch->max_send_sge = sdev->dev_attr.max_sge -
|
||||
ch->max_send_sge -=
|
||||
min_t(unsigned, max_sge_delta,
|
||||
max_t(int, 0,
|
||||
sdev->dev_attr.max_sge - max_sge_delta));
|
||||
ch->max_recv_sge = ch->max_send_sge;
|
||||
#endif
|
||||
ch->max_send_sge - max_sge_delta));
|
||||
qp_init->cap.max_send_sge = ch->max_send_sge;
|
||||
qp_init->cap.max_recv_sge = ch->max_recv_sge;
|
||||
if (sdev->use_srq) {
|
||||
|
||||
Reference in New Issue
Block a user