[openib-general] [PATCH][1/7]ipoib performance patches -- remove ah_reap

Roland Dreier rdreier at cisco.com
Wed May 24 13:50:37 PDT 2006


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.



More information about the general mailing list