[openib-general] Re: RDMA Generic Connection Management

James Lentini jlentini at netapp.com
Tue Aug 30 14:33:03 PDT 2005


On Tue, 30 Aug 2005, Roland Dreier wrote:

>     Thomas> kDAPL does this!  :-)
> 
> Does what?  As far as I can tell kDAPL just ignores hotplug and
> routing and hopes the problems go away ;)
> 
> I do see some racy uses of atomic variables in kDAPL, but they don't
> seem to protect against anything really.
> 

AFAICT none of there verbs clients in the tree (cache, CM, MAD, ping,  
SA client, uMAD, uVERBS, IPoIB, kDAPL, SDP, or SRP) synchronize their
verbs calls with the hotplug removal callback.

For example when SRP's srp_add_one() function is called, I don't see a 
synchronization primitive setup to do this. Suppose for example that a 
thread was in SRP's CM callback handler, srp_cm_handler(), just before 
the call to ib_modify_qp() on line 713 when the device removal 
callback, srp_remove_one(), is called. Currently, the SRP code will 
still call ib_modify_qp() even though the device has been removed.

I see similar problems with the other verbs consumers in the tree.

This is a good indication that handling the hotplug events in ULPs is 
difficult.



More information about the general mailing list