NAK to this patch.  Not only is is a step backwards in performance --
you've essentially added two (expensive) atomic operations for every
packet sent -- but the patch is actually wrong:

 > +       err = post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), 
 > +                       address->ah, qpn, addr, skb->len); 
 > +       kref_put(&address->ref, ipoib_free_ah);

The whole point of the complexity in AH handling in IPoIB is that AHs
cannot be freed until the driver knows that all sends referring to
them have _completed_.  As you've written your patch, an AH can easily
be freed before the HCA has a chance to execute the corresponding send
request.

 - R.
_______________________________________________
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

Reply via email to