[ofa-general] Questions about IPOIB handle last WQE event

Roland Dreier rdreier at cisco.com
Fri Jul 25 10:25:16 PDT 2008


 > Do you mean to use p->recv_count to monitor last receive to complete?
 > p->recv_count is always equal to recv_queue_size if post_recv()
 > succeeds. When waitting for p->recv_count to be 0 to release QP, which
 > means we need to either generates unsuccessful CQEs for recv_queue_size
 > times or force ipoib_cm_post_receive_nonsrq() to be failed that many
 > times after DREQ. Do I unstand it correctly?

The current code at least tries to do this: it decrements the recv_count
on every receive completion with unsuccessful status, and moves an rx
countext to the reap list when its last receive completes.  I don't see
any obvious bug here; is it not working in your tests?

 > To use post_send last WR is much simple, just wait for this CQE to be
 > generated in CQ then release the resource. The wait time here might be
 > much smaller than above approach.

But when do you post the send work request?  This only works if you
already know the last receive has completed, because there is no
synchronization required between the receive queue and the send queue,
and so the completion of the send work request doesn't tell you anything
you didn't already know.

 - R.



More information about the general mailing list