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

Shirley Ma mashirle at us.ibm.com
Wed Jul 23 17:24:15 PDT 2008


Hello Roland,

> The current code keeps track of how many receives have been posted to
> the non-shared RQ, and waits until the last one has completed.
> 
> I don't see how posting a send request could help you tell when the last
> receive has completed anyway.  The send queue is asynchronous to the
> receive queue, and so you would have to wait for the last receive to
> complete -- which means you must have some other way of telling when the
> last receive completes.

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?

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.

Thanks
Shirley




More information about the general mailing list