[ofa-general] rping / librdmacm deadlock question

Sean Hefty mshefty at ichips.intel.com
Wed Jul 18 12:28:02 PDT 2007


>> I wonder if it would be better if the iWarp CM acquired/released the 
>> QP reference on a per call basis, rather than holding a reference 
>> throughout the entire connection.
>>
> 
> The design assume the iwcm can hold this reference and cache the qp ptr. 
>    In the iwarp design, the cm_id (connection) and qp are tighly bound 
> once the connection is transitioned into rdma mode.  This is different 
> than infiniband.

I don't know if this tight binding is necessary in the implementation. 
The cm_id could store the qpn, rather than a pointer to the structure. 
When necessary, the qp pointer could be acquired using the qpn, then 
released at the end of the function call.  I don't think we need to hold 
the reference on the qp structure for the entire connection.

I'm just tossing this out as an idea.  I'm not familiar enough with the 
details to claim that it's a better approach over what's currently done.

> I still don't see the deadlock?

What happens if a user calls destroy qp immediately after connecting it?

- Sean



More information about the general mailing list