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. _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general