On 02/26/12 06:32, David Dillow wrote:
> On Sat, 2012-01-14 at 12:44 +0000, Bart Van Assche wrote:
>> When disconnecting the IB connection via the IB CM, wait until
>> any invoked completion handlers have finished processing SRP
>> protocol data and prevent that new work completions are queued.
>> Change the IB completion handlers such that all error completions
>> are processed instead of a subset and also such that receiving a
>> completion with zero wr_id is recognized as an end-of-work marker.
> This seems really ugly, and a bit of overkill. There must be a better
> way.

The only alternative I know of for waiting until completion processing
stopped is to destroy and recreate the queue pair. The reason I had not
chosen for that approach is that some srp_disconnect_target() calls are
from outside a CM callback function and hence destroying the QP inside
srp_disconnect_target() would race with QP manipulations from inside CM
callbacks.

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to