[ofa-general] Bogus Receive Completions

Roman Kononov kononov at dls.net
Thu Jan 24 08:01:07 PST 2008


On 2008-01-24 08:18 Eli Cohen said the following:
> I am re-sending the patches again, this time with the bug of being
> unable to handle QPs whose receive size is not a power of two fixed.

.../libmthca/src>egrep '&.*qp->.q\.m.*-' *.c
qp.c:   ind = qp->sq.head & (qp->sq.max - 1);
qp.c:   ind = qp->rq.head & (qp->rq.max - 1);
qp.c:   next->nda_op = htonl(((i + 1) & (qp->rq.max - 1)) <<
qp.c:   next->nda_op = htonl((((i + 1) & (qp->sq.max - 1)) <<

Should these change as well?

In mthca_create_qp() there are assignments:
qp->sq.max = align_queue_size(pd->context, attr->cap.max_send_wr, 0);
qp->rq.max = align_queue_size(pd->context, attr->cap.max_recv_wr, 0);
And later:
qp->sq.max = attr->cap.max_send_wr;
qp->rq.max = attr->cap.max_recv_wr;
This is suspicious.

> 
> Roman,
> can you tell whether from your perspective there has been an improvement
> in stability with the latest patches?

Since I use 'nice' queue sizes, the very last patches made no difference.

Roman



More information about the general mailing list