On Wed, Oct 26, 2011 at 11:18 PM, Bart Van Assche <bvanass...@acm.org> wrote:
> Note, for QPs that are associated with an SRQ, the Consumer should
> take the QP through the Error State before invoking a Destroy QP or a
> Modify QP to the Reset State. The Consumer may invoke the Destroy QP
> without first performing a Modify QP to the Error State and waiting
> for the Affiliated Asynchronous Last WQE Reached Event. However, if
> the Consumer does not wait for the Affiliated Asynchronous Last WQE
> Reached Event, then WQE and Data Segment leakage may occur. Therefore,
> it is good programming practice to tear down a QP that is associated
> with an SRQ by using the following process:
> • Put the QP in the Error State;
> • wait for the Affiliated Asynchronous Last WQE Reached Event;
> • either:
> • drain the CQ by invoking the Poll CQ verb and either wait for CQ to
> be empty or the number of Poll CQ operations has exceeded CQ capacity
> size; or
> • post another WR that completes on the same CQ and wait for this WR
> to return as a WC;
> • and then invoke a Destroy QP or Reset QP.

I think this only makes sense if you take this as being the way to wait
for all receive requests, and that some other unspecified method is used
to wait for send requests.  After all, the send queue might be attached
to some other CQ so clearly something more is required to handle the
send queue.

 - R.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to