On 09/14/2015 01:03 PM, Christoph Lameter wrote: > On Fri, 11 Sep 2015, Doug Ledford wrote: > >>> At a minimum, when the socket that did the send closes the send-only >>> could be de-refed.. >> >> If we kept a ref count, but we don't. Tracking this is not a small change. > > We could call ip_mc_join_group() from ipoib_mcast_send() which would join > it at the socket layer. That layer would do the tracking for us and leave the > group when the process terminates. The join would be visible the same way > as if one would have done an explicit setsockopt(). I actually think this is a step in the right direction, but I think we are talking about a layering violation doing it the way you are suggesting. What's more, there are a few difficulties here in that I'm fairly certain the core networking layer doesn't have the concept of a send-only join, yet we would need it to have such. If we had three apps do send only sends, we would need to track all three of those sockets as being send only socket joins, and then if someone did a full join, we would need to automatically upgrade the join, and then if that app with the full join left, we would need to gracefully downgrade to send only again. So, I think it would take work at the core level to get this right, but I think that's probably the right place to do the work. -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: OpenPGP digital signature